PgAdmin III - Parola boşken veritabanına nasıl bağlanılır?


21

PostgreSQL 9.1'i bilgisayarıma kurdum (Win 7). Birlikte kendisine başarılı bağlayan küçük bir Java uygulaması var login=save password="". Bağlantı çalışıyor.

Ancak, PgAdmin III'ün kendisinden reddedilir. Alırım:

Error connecting to the server: fe_sendauth: no password supplied

Boş bir parola ile PgAdmin III'ten veritabanıma nasıl bağlanabilirim?

DÜZENLE

Bu sadece bir test, üretim kodu değil.


Emin değilim, ama PgAdmin'in bunu desteklemediğini hayal etmek kolaydır.
Peter Eisentraut

uygulamanız pgAdmin ile aynı istemcide mi?
Jack Douglas

Yanıtlar:


10

Süper kullanıcılar da dahil olmak üzere herhangi bir kullanıcı için şifre olmadan pgAdmin III'ten postgres örneğime bağlanabilirim postgres.

Tamam'ı başka bir istemciden bağladığınız için, aynı iş istasyonundaysanız pgAdmin ile bağlantı kuramamanız için hiçbir neden yoktur - istemcinin kendisinde bazı güvenlik duvarı kuralları bir programa izin vermiyorsa başka bir programa izin vermez.

Sorun bu istemciye özgü ise, şunlardan birini veya birkaçını değiştirmeniz gerekebilir:

  • pg_hba.conf
ev sahibi tüm 192.168.0.nnn / 32 güven
  • postgresql.conf
listen_addresses = '*'
  • postgres sunucunuzdaki güvenlik duvarı, örneğin iptables:
-A GİRİŞ -s 192.168.0.nnn -m durumu - durum YENİ -j KABUL

Ama ben bunların hiçbirini yapmamanızı tavsiye ederim. Kılavuz , aşağıdakileri iyi bir sebeple söylüyor:

güven kimlik doğrulaması yalnızca sunucuya güven belirten pg_hba.conf satırlarıyla bağlanmasına izin verilen her makinedeki her kullanıcıya güveniyorsanız TCP / IP bağlantıları için uygundur. Localhost dışındaki herhangi bir TCP / IP bağlantısı için güven kullanılması nadiren mantıklıdır (127.0.0.1).

Bunun yerine, şunlardan birini düşünün:

  • şifre ve md5 kimliği kullanma
  • Tünel bağlantı noktası 5432 ssh üzerinden

31

Bu cevabı başka yerde buldum.

DB'niz yerel ana bilgisayardaysa, “localhost” veya “127.0.0.1 ″ kullanmak yerine ana bilgisayar alanını bağlantıda boş bırakmayı deneyin. Bu, PgAdmin'e TCP yerine yerel unix soketi üzerinden bağlanmasını söyler.


Orijinal sorunun bir Windows sistemi ile ilgili olduğunu ekleyelim.
dezso

3
Ah, aynen öyle. Ana bilgisayarı boş bırakmak işe yaradı.
basicdays

Bu alanı boş bırakamazsınız, zorunludur.
Athlan

Ana bilgisayar alanını boş bırakmak, yalnızca sistem kullanıcı adınız (Linux'ta) olarak adlandırılan pg'de bir rolünüz varsa işe yarar. Aksi takdirde kullanıcı haritalarına ihtiyaç var sanırım.
a1an

Mükemmel! Taze bir ile değişen, postgresql ve pgAdmin yükleme pg_hba.confsöylemek trustyerine peer- bu çizgide local all postgres trustve alır pgAdmin herşeyin çalışma konak ve şifre alanları boş bırakarak! Pgadmin'in UI'yi bu kadar zor yerine soketlere geçmek için bir onay kutusu eklemesini diliyorum.
Anupam Jain
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.