Hmmm ...
PgAdminIII içindeki kullanıcı adı ve parolayla bağlanabiliyor ancak bağlanamıyorsanız, psql
bu iki program muhtemelen veritabanına farklı şekilde bağlanıyor.
[Farklı veritabanlarına bağlanıyorsanız, önce aynı veritabanına bağlanmayı deneyin. Aşağıya bakınız.]
Gönderen PostgreSQL: Belgeler: 9.3: psql'in :
Ana bilgisayar adını atlarsanız psql, Unix etki alanı soketi aracılığıyla yerel ana bilgisayardaki bir sunucuya veya TCP / IP aracılığıyla Unix etki alanı soketi olmayan makinelerde localhost'a bağlanır.
Gibi bir şey çalıştırmıyorsanız psql ... -h host_name ...
ve Ubuntu çalıştırıyorsanız, psql
bir Unix-etki alanı soketi üzerinden bağlanmalıdır, bu nedenle PostgreSQL muhtemelen postgres kullanıcısı için şifre kimlik doğrulama yöntemlerinden birine izin verecek şekilde yapılandırılmamıştır .
Bunu çalıştırarak test edebilirsiniz:
sudo -u postgres psql
Yukarıdakiler işe yararsa, sunucunuz muhtemelen postgres kullanıcısı tarafından yerel bağlantılar için eş kimlik doğrulaması kullanacak şekilde yapılandırılmıştır , yani işletim sisteminden kullanıcı adınızı postgres olduğunuzu onaylamasını ister .
Yani büyük ihtimalle var pg_hba.conf Dosyası
Dosyanın tam yolu /etc/postgresql/9.3/main/pg_hba.conf gibi bir yol olacaktır . İle görüntüleyebilirsiniz, örneğin .sudo cat /etc/postgresql/9.3/main/pg_hba.conf | more
psql
Komutunuzdaki ana bilgisayar adını atlıyorsanız , pg_hba.conf dosyanıza aşağıdaki girişi eklerseniz bağlanabilmeniz gerekir :
# Connection type Database User IP addresses Method
local all postgres md5
[ Pg_hba.conf dosyasındaki yorum satırları ile başlar #
.]
Eğer varsa vardır sizin de ana bilgisayar adını dahil psql
komuta, bu girişi yerine ekleyin:
# Connection type Database User IP addresses Method
host all postgres 127.0.0.1/32 md5
Üzerinden bağlantınız için diğer girdiler eşleştirilmeden önce girdiyi koymanız gerekir psql
. Nereye koyacağınızdan şüphe ediyorsanız, ilk yorum yapılmamış satırın önüne koyun.
Pg_hba.conf hakkında daha fazla bilgi
Gönderen PostgreSQL: Belgeler: 9.3: pg_hba.conf Dosyası [kalın vurgu mayın]:
Eşleşen bağlantı türüne , istemci adresine , istenen veritabanına ve kullanıcı adına sahip ilk kayıt, kimlik doğrulaması yapmak için kullanılır. "Yedek" veya "yedekleme" yoktur: bir kayıt seçilirse ve kimlik doğrulama başarısız olursa, sonraki kayıtlar dikkate alınmaz. Hiçbir kayıt eşleşmezse, erişim reddedilir.
Kayıtları unutmayın değil kimlik doğrulama yöntemi üzerinde eşleşti. Bu nedenle, pg_hba.conf dosyanız aşağıdaki girişi içeriyorsa:
# Connection type Database User IP addresses Method
local all postgres peer
O zaman olmaz üzerinden bağlanmak mümkün:
psql -u postgres
Bu girişlerden biri önceki girişin üzerindeki pg_hba.conf dosyanızda değilse :
# Connection type Database User IP addresses Method
local all postgres md5
local all postgres password # Unencrypted!
local all all md5
local all all password # Unencrypted!