Peer authentication failed ???

Started by Amn Ojee Uwover 2 years ago4 messagesgeneral
Jump to latest
#1Amn Ojee Uw
amnojeeuw@gmail.com

Hi there.

Using the 'sudo -u postgres psql' command I created a group and two
accounts in the group, I also created a database for one of the
accounts. Now, I'd like to login PG-15, using my new account and
connecting to my new database, but PG-15 complains. See the example
below, I think it is clear than my English.

*CREATE ROLE my_group; // Create a group**
**CREATE ROLE my_group_admin LOGIN PASSWORD 'AdminPassword' CREATEDB
CREATEROLE; // Create admin**
**CREATE ROLE my_group_worker LOGIN PASSWORD 'WorkerPassword' CREATEDB;
// Create Worker**
**GRANT my_group TO my_group_admin WITH INHERIT TRUE;**
**GRANT my_group TO my_group_worker WITH INHERIT TRUE;**
**
**CREATE DATABASE my_group_db WITH OWNER my_group_worker;**
**\q**
**psql -U my_group_worker -d my_group_db*

/psql: error: connection to server on socket
"/var/run/postgresql/.s.PGSQL.5432" failed: FATAL:  Peer authentication
failed for user "my_group_worker/*"*

*** What am I doing wrong?

Thanks in advance.

#2David G. Johnston
david.g.johnston@gmail.com
In reply to: Amn Ojee Uw (#1)
Re: Peer authentication failed ???

On Tuesday, October 3, 2023, Amn Ojee Uw <amnojeeuw@gmail.com> wrote:

Using the 'sudo -u postgres psql' command

*psql -U my_group_worker -d my_group_db*

*psql: error: connection to server on socket
"/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: Peer authentication
failed for user "my_group_worker**"*

*** What am I doing wrong?

postgres != my_group_worker and you haven’t setup an ident mapping to
associate the two

David J.

#3Peter J. Holzer
hjp-pgsql@hjp.at
In reply to: Amn Ojee Uw (#1)
Re: Peer authentication failed ???

On 2023-10-03 05:55:51 -0400, Amn Ojee Uw wrote:

psql -U my_group_worker -d my_group_db

psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432"
failed: FATAL:  Peer authentication failed for user "my_group_worker"

*** What am I doing wrong?

PostgreSQL uses the first matching rule from pg_hba.conf. Presumably
(because that's the default on Debian/Ubuntu) you have it set up to use
peer authentication on the unix socket and password authentication
(scram or md5) on everything else.

You are connecting via the Unix socket (/var/run/postgresql/.s.PGSQL.5432),
so the server will attempt peer authentication and nothing else. To get
it to attempt password authentication connect via a tcp socket:

psql -U my_group_worker -h localhost -d my_group_db

(More conveniently set up ident authentication for your users, then you
don't need a password.)

hp

--
_ | Peter J. Holzer | Story must make more sense than reality.
|_|_) | |
| | | hjp@hjp.at | -- Charles Stross, "Creative writing
__/ | http://www.hjp.at/ | challenge!"

#4Amn Ojee Uw
amnojeeuw@gmail.com
In reply to: Peter J. Holzer (#3)
Re: Peer authentication failed ???

Yes!
Thanks so much it worked!

Show quoted text

On 10/3/23 9:37 a.m., Peter J. Holzer wrote:

On 2023-10-03 05:55:51 -0400, Amn Ojee Uw wrote:

psql -U my_group_worker -d my_group_db

psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432"
failed: FATAL:  Peer authentication failed for user "my_group_worker"

*** What am I doing wrong?

PostgreSQL uses the first matching rule from pg_hba.conf. Presumably
(because that's the default on Debian/Ubuntu) you have it set up to use
peer authentication on the unix socket and password authentication
(scram or md5) on everything else.

You are connecting via the Unix socket (/var/run/postgresql/.s.PGSQL.5432),
so the server will attempt peer authentication and nothing else. To get
it to attempt password authentication connect via a tcp socket:

psql -U my_group_worker -h localhost -d my_group_db

(More conveniently set up ident authentication for your users, then you
don't need a password.)

hp