Zda je heslo vyžadováno nebo ne, nemá nic společného s pg_shadow
a zda je pro uživatele skutečně definováno heslo. Ano, já vím, je to zvláštní.
pg_hba.conf
řídí způsob ověřování. Pokud chcete požádat o heslo, použijte md5
autentizace. Pokud chcete komukoli povolit přihlášení bez hesla, použijte trust
. Pokud chcete v operačním systému vyžadovat stejné uživatelské jméno jako v PostgreSQL, použijte peer
(UNIX, pouze pro místní připojení) nebo sspi
(Windows).
Pokud je nastaveno heslo, ale pg_hba.conf
neřekne PostgreSQL, aby o to požádal, heslo je ignorováno.
Pokud pg_hba.conf
řekne PostgreSQL, aby požádal o heslo, ale žádné není nastaveno, pak všechny pokusy o přihlášení selžou bez ohledu na to, jaké heslo zadáte.
Uživatel postgres ve výchozím nastavení nemá žádné heslo. Chcete-li odebrat uživatelské heslo (v tomto případě pro uživatele/role postgres):
alter role postgres password null;
Musíme také nastavit ověřování na trust
v pg_hba.conf
- zobrazit podrobnosti