我们在Centos7上安装了一个PostgreSQL数据库服务器(版本为10.3),并创建了一个名为"db_name"的数据库。我们拥有对该数据库的访问权限。在pg_hba.conf文件中,设置如下:
当我尝试以普通Linux用户的身份访问数据库时,出现了以下错误:
# "local" is for Unix domain socket connections only
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
local replication all peer
host replication all 127.0.0.1/32 ident
host replication all ::1/128 ident
当我拥有sudo权限时,我可以访问数据库"db_name"。
[root@localhost bin]# sudo -s
[root@localhost bin]# psql -U db_name db_user
psql (10.3)
Type "help" for help.
db_name=>
当我尝试以普通Linux用户的身份访问数据库时,出现了以下错误:
[linuxuser@localhost bin]# psql -U db_name db_user
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
我们想要限制某些用户的sudo访问权限,是因为我们的报表专员需要访问数据库“db_name”,但我们不希望他们有sudo权限来执行其他操作。
为了使其生效,我应该进行哪种设置? 谢谢!
psql -h -U username dbname
。另外,您没有提到创建用户,只是数据库而已。当您创建一个数据库时,Postgres并不会自动为您创建一个用户。 - user330315