sql >> Databáze >  >> RDS >> PostgreSQL

PostgreSQL:FATAL – Ověření peer selhalo pro uživatele (PG::ConnectionBad)

"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žít md5 ověřování heslem namísto peer 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.



  1. Mýtus, že DROP a TRUNCATE TABLE nejsou protokolované

  2. Převod Base 36 na Base 10 pouze pomocí SQL

  3. Chyba SQL:ORA-02000:chybí klíčové slovo ALWAYS při vytváření tabulky založené na sloupcích identity

  4. výpočty n-tého percentilu v postgresql