"Autentizace peer" znamená, že používá unixový soket a očekává, že připojující se unixový uživatel bude mít stejné unixové uživatelské jméno jako uživatelské jméno postgresql.
Protože vaše místní unixové uživatelské jméno je funkdified
a pokoušíte se připojit jako uživatel goodsounds
přes soket domény unix (local
) připojení k vašemu pg_hba.conf
určuje peer
ověření, Pg správně odmítne váš pokus o připojení.
Toto je výchozí chování pro mnoho instalací při použití unixových soketů.
Můžete:
- Připojte se přes TCP/IP zadáním názvu hostitele v nastavení připojení k databázi;
- upravte
pg_hba.conf
použítmd5
ověřování heslem namístopeer
ověřování pro unixové sokety (local
typ připojení), takže Pg přijímá ověření heslem; nebo - Připojte se k PostgreSQL uživatelskému jménu, které je stejné jako vaše unixové uživatelské jméno, a vytvořte uživatele v PostgreSQL, pokud ještě neexistuje.
Podívejte se na dokumentaci pro pg_hba.conf
a zbytek kapitoly dokumentace o ověřování klienta.
Všimněte si, že změny na pg_hba.conf
neprojeví se okamžitě, musíte restartovat nebo alespoň znovu načíst PostgreSQL, aby bylo možné znovu přečíst pg_hba.conf
.
Oh, také, pokud máte nainstalovaných více verzí PostgreSQL, můžete mít libpq z jedné verze a server z jiné. V tomto případě se ujistěte, že umístění pro unixový soket, ke kterému se libpq ve výchozím nastavení připojuje, je stejné jako unix_socket_directories
serveru nebo jej přepište (např.) host=/tmp
ve vašem připojovacím řetězci.