Hızlı Çözüm
Sorun, peermevcut kullanıcı adınıza göre yerel kimlik doğrulaması yapmaya çalışmasıdır . Bir parola kullanmak isterseniz, ana bilgisayar adını ile belirtmelisiniz -h.
pg_dump dbname -U username -h localhost -F c
Açıklama
Bu, sizin pg_hba.conf
local all all peer
host all all 127.0.0.1/32 md5
Bu, Postgres'e peerpostgres kullanıcı adının mevcut sistem kullanıcı adınızla eşleşmesini gerektiren yerel kullanıcılar için kimlik doğrulamasını kullanmasını söyler . İkinci satır, bir ana bilgisayar adı kullanan bağlantılara atıfta bulunur ve md5yöntem aracılığıyla bir şifre ile kimlik doğrulamanıza izin verir .
Tercih Edilen Geliştirme Yapılandırmam
NOT : Bu yalnızca tek kullanıcılı iş istasyonlarında kullanılmalıdır. Bu, bir üretim veya çok kullanıcılı makinede büyük bir güvenlik açığına yol açabilir.
Yerel bir postgres örneğine karşı geliştirme yaparken yerel kimlik doğrulama yöntemimi olarak değiştirmeyi seviyorum trust. Bu, şifresiz herhangi bir kullanıcı olarak yerel bir unix soketi aracılığıyla postgres'e bağlanmaya izin verecektir. peerYukarıdakileri değiştirip trustpostaları yeniden yükleyerek yapılabilir.
# Don't require a password for local connections
local all all trust