Geçerli UNIX kullanıcısının aynı kullanıcı adına sahip olmasını gerektiren kimlik doğrulama psqlkullanılarak varsayılan olarak UNIX yuvalarına bağlandığı için bağlantınız başarısız oldu . UNIX kullanıcı oluşturmak zorunda kalacak Yani sonra olarak giriş veya kullanım veritabanına erişim için (ve gerektiği değil bir şifre isteyecektir).peerpsqldevdevsudo -u dev psql test_developmentpsql
UNIX kullanıcısını oluşturmak istemiyorsanız veya istemiyorsanız, tıpkı geçici sorgular için veritabanınıza bağlanmak istiyorsanız , psql --host=localhost --dbname=test_development --username=dev(@meyerson yanıtında belirtildiği gibi) kullanarak bir soket bağlantısını zorlamak derhal sorununuzu çözecektir.
Ancak peer yöntemi yerine Unix yuvaları üzerinde parola kimlik doğrulamasını zorunlu kılmak istiyorsanız, aşağıdaki pg_hba.conf* satırını değiştirmeyi deneyin :
itibaren
# TYPE DATABASE USER ADDRESS METHOD
local all all peer
için
# TYPE DATABASE USER ADDRESS METHOD
local all all md5
Elbette, belirli bir veritabanı veya kullanıcı için daha belirli kurallar oluşturabilirsiniz, bazı kullanıcılar peerparola isterken bazı kullanıcılar da olabilir.
pg_hba.confPostgreSQL'in çalışıp çalışmadığını değiştirdikten sonra , yeniden yükleyerek ( pg_ctl reload) veya yeniden başlatarak ( sudo service postgresql restart) yapılandırmayı yeniden okumasını sağlamanız gerekir .
* Dosya pg_hba.confbüyük olasılıkla/etc/postgresql/9.x/main/pg_hba.conf
Düzenlendi: @Chloe, @JavierEH, @Jonas Eicher, @fccoelho, @Joanis, @Uphill_What yorumları yanıta dahil edilmiştir.