We have a postgres database server(10.3) installed on Centos7, and created a database with the name of "db_name". We have database access. The setting in pg_hba.conf is as the following:
# "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
When I have sudo access, I can access the database "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=>
When I tried to access database as a regular linux user, I got the following error:
[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"?
The reason we want to limit some users sudo access is that our report specialists need an access to the database "db_name", but we don't want them to have the sudo privilege to do something else.
What kind of settings shall I do in order to make it work? Thanks!
psql -h -U username dbname. Additionally: you did not mention you created a user, only a database. When you create a database, Postgres does not automatically create a user for you as well.