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