Uw pg_hba.conf
zou inderdaad een wachtwoord moeten vereisen voor unix socket-verbindingen, maar er zijn nog steeds manieren om dit te verifiëren:
-
een
.pgpass
bestand in de postgres-homedirectory met het wachtwoord (controleer ook de PGPASSFILE omgevingsvariabele voor een niet-standaard pad). -
de PGPASSWORD omgevingsvariabele kan worden ingesteld.
En er is ook de mogelijkheid dat je het verkeerde pg_hba.conf-bestand aan het bewerken bent. Wanneer verbonden als postgres, kan het juiste pad worden verkregen voor verificatie met de SHOW hba_file
SQL-opdracht.
U kunt ook het logbestand /var/log/postgresql/postgresql-9.1-main.log
controleren om te bevestigen dat de configuratiebestanden opnieuw worden geladen wanneer u erom vraagt, en zoek naar verdachte berichten tijdens de authenticatie.
Wat betreft de reden waarom wachtwoordloze verbindingen met de postgres-gebruiker gebruikelijk zijn, is de debian PG-9.1 pg_hba.conf
heeft deze opmerking over het weigeren ervan:
# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local all postgres peer
Aangezien Debian en Ubuntu dezelfde postgres-pakketten gebruiken, geldt dit ook voor Ubuntu.