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