PostgreSQL 8.4, Postgres istemcisi ve Pgadmin 3'ü yükledim. Hem konsol istemcisi hem de Pgadmin için "postgres" kullanıcısı için kimlik doğrulama başarısız oldu. Kullanıcıyı "postgres" ve şifreyi "postgres" olarak yazdım, çünkü daha önce çalışıyordu. Ancak şimdi kimlik doğrulama başarısız oldu. Daha önce birkaç kez bu sorun olmadan yapmıştım. Ne yapmam gerekiyor? Ve ne oluyor?
psql -U postgres -h localhost -W
Password for user postgres:
psql: FATAL: password authentication failed for user "postgres"
FATAL: password authentication failed for user "postgres"
Yanlış hatırlamıyorsam postgres
kullanıcısının Ubuntu'da varsayılan olarak DB parolası yoktur. Bu, bu hesaba yalnızca postgres
OS user hesabını kullanarak giriş yapabileceğiniz anlamına gelir.
Kutuda root
erişiminiz olduğunu varsayarak şunları yapabilirsiniz:
sudo -u postgres psql
Eğer bu işlem database "postgres" does not exist
hatası ile başarısız olursa, büyük olasılıkla bir Ubuntu veya Debian sunucusunda değilsiniz demektir :-) Bu durumda komuta basitçe template1
ekleyin:
sudo -u postgres psql template1
Bu komutlardan herhangi biri psql' hatasıyla başarısız olursa: FATAL: password authentication failed for user "postgres"
hatasıyla başarısız olursa /etc/postgresql/8.4/main/pg_hba.conf
dosyasını kontrol edin: İlk yorumsuz satır olarak buna benzer bir satır olmalıdır:
local all postgres ident
PostgreSQLin daha yeni sürümleri için
identaslında
peer` olabilir. Bu da sorun değil.
psqlkabuğunun içinde __DB kullanıcısı__
postgres`e bir parola verebilirsiniz:
ALTER USER postgres PASSWORD 'newPassword';
CtrlD yazarak ya da \q
komutu ile psql
kabuğundan çıkabilirsiniz.
Artık pgAdmin'e DB süper kullanıcısı için geçerli bir parola verebilmelisiniz ve o da mutlu olacaktır :-)
Personelin yanıtı doğrudur, ancak daha fazla otomatikleştirmek istiyorsanız yapabilirsiniz:
$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
Bitti! Kullanıcı = postgres ve şifre = postgres olarak kaydettiniz.
Eğer postgres ubuntu kullanıcısı için bir parolanız yoksa:
$ sudo passwd postgres
W parametresini kullanmamaya ve şifreyi boş bırakmaya çalışın. Bazen kullanıcı parola olmadan oluşturulur.
Bu işe yaramazsa şifreyi sıfırlayın. Bunu yapmanın birkaç yolu vardır, ancak bu birçok sistemde çalışır:
$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';