sql >> Databasteknik >  >> RDS >> PostgreSQL

Ingen lösenordsfråga för postgresql superuser

Din pg_hba.conf borde verkligen kräva ett lösenord för unix-socket-anslutningar, men det finns fortfarande sätt runt det som du bör verifiera:

  1. ett .pgpass fil i postgres hemkatalog som innehåller lösenordet (kolla även PGPASSFILE miljövariabel för en icke-standardiserad sökväg).

  2. PGPASSWORD miljövariabel kan ställas in.

Och det finns också möjligheten att du redigerar fel pg_hba.conf-fil. När du är ansluten som postgres kan den korrekta sökvägen erhållas för verifiering med SHOW hba_file SQL-kommando.

Du kanske också vill kontrollera loggfilen, /var/log/postgresql/postgresql-9.1-main.log för att bekräfta att konfigurationsfilerna laddas om när du ber om det, och leta efter eventuella misstänkta meddelanden under autentiseringen.

När det gäller anledningen till att lösenordslösa anslutningar med postgres-användaren är vanliga, debian PG-9.1 pg_hba.conf har den här kommentaren om att inte tillåta dem:

# 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  

Eftersom Debian och Ubuntu använder samma postgres-paket, gäller detta även för Ubuntu.



  1. Varför lägger TO_CHAR till mellanslag (ett vitt tecken) i början av ett nummer?

  2. Heroku Postgres Connection från localhost PHP-applikation

  3. Vad är SQL? Vad är en databas? Relationella databashanteringssystem (RDBMS) förklaras på vanlig engelska.

  4. Returnera NULL om Count(*) är noll