Za prvé, je důležité pochopit, že pro většinu unixových distribucí výchozí uživatel Postgres ani nevyžaduje ani nepoužívá heslo pro autentizaci. Místo toho, v závislosti na tom, jak byl Postgres původně nainstalován a jakou verzi používáte, bude výchozí metoda ověřování buď ident
nebo peer
.
ident
ověřování používá identifikační server operačního systému běžící na portu TCP 113 k ověření přihlašovacích údajů uživatele.
peer
autentizace se na druhou stranu používá pro lokální připojení a ověřuje, že přihlášené uživatelské jméno operačního systému odpovídá uživatelskému jménu pro databázi Postgres.
Přihlaste se a připojte se jako výchozí uživatel
Pro většinu systémů je výchozí uživatel Postgres postgres
a pro ověření není vyžadováno heslo. Pro přidání hesla se tedy musíme nejprve přihlásit a připojit jako postgres
uživatel.
$ sudo -u postgres psql
Pokud jste se úspěšně připojili a prohlížíte psql
přejděte dolů na Změna hesla sekce.
Pokud se zobrazí chyba oznamující, že databáze „postgres“ neexistuje, zkuste se připojit k template1
místo toho, a pokud bude úspěšný, pokračujte částí Změna hesla .
$ sudo -u postgres psql template1
Chyba ověření
Pokud se při pokusu o připojení k psql
zobrazí chyba ověření klienta, možná budete muset změnit konfigurační soubor Postgres autentizace (pg_hfa.conf).
Otevřete konfigurační soubor, který se obvykle nachází na adrese /etc/postgresql/#.#/main/pg_hba.conf
, kde #.#
je verze Postgres, kterou používáte:
$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf
Konfigurační soubor auth je seznam pravidel ověřování. Posouvejte soubor dolů, dokud nenajdete první řádek zobrazující postgres
uživatel ve třetím sloupci (pokud takový řádek existuje). V případě potřeby odkomentujte řádek (odstraňte středník), nebo pokud řádek zcela chybí, přidejte na začátek souboru následující řádek a uložte změny:
local all postgres peer
Toto autentizační pravidlo jednoduše říká Postgresu, že pro lokální připojení vytvořená ke všem databázím pro uživatele postgres
, ověřte pomocí peer
protokol.
Poznámka:Některé starší verze Postgresu preferují výchozí metodu ověřování ident, ale většina moderních instalací bude místo toho využívat peer, jak je uvedeno výše. Pokud se vaše výsledky liší, možná budete muset otestovat oba.
Nyní s aktualizovaným konfiguračním souborem zopakujte kroky v části Přihlášení a připojení jako výchozí uživatel sekce, ke které se chcete pokusit připojit jako výchozí postgres
uživatel. Jakmile bude úspěšný, pokračujte ve změně hesla.
Změna hesla
Nyní je navázáno připojení k Postgresu na psql
zadejte ALTER USER
příkaz ke změně hesla pro postgres
uživatel:
postgres=# ALTER USER postgres PASSWORD 'myPassword';
ALTER ROLE
Pokud bude úspěšný, Postgres vypíše potvrzení ALTER ROLE
jak je vidět výše.
Nakonec ukončete psql
klienta pomocí \q
příkaz.
postgres=# \q
máte hotovo. Výchozí postgres
uživatel má nyní k účtu přidružené heslo pro použití ve vašich dalších aplikacích.