Naprawianie tego za pomocą createuser
nie zadziała. Za man
strona dla createuser
, mówi, że logowanie się nie powiedzie, jeśli naprawdę potrzebujesz hasła i ustawisz --no-password
. createuser
po prostu tworzy użytkownika. nie zdecyduj, w jaki sposób użytkownik będzie musiał się uwierzytelnić.
Uwierzytelnianie jest obsługiwane głównie w pg_hba.conf
, który decyduje o tym, czy przy logowaniu wymagane jest podanie hasła. Nigdy nie używałem PostgreSQL w systemie OS X. W systemie Linux konfiguracja podstawowa mojej dystrybucji wygląda tak:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
Upewnij się, że masz coś takiego jak pierwsza linia dla dostępu programistycznego. Uwaga:psql
spróbuje połączyć się z gniazdem unixowym, jeśli nie ma --host
zestaw opcji. Druga linia zostanie użyta, jeśli spróbujesz połączyć się z psql --host localhost