it-swarm.asia

PgAdmin III - Bagaimana menghubungkan ke database ketika kata sandi kosong?

Saya telah menginstal PostgreSQL 9.1 di PC saya (Win 7). Saya punya aplikasi Java kecil yang berhasil terhubung dengan login=sa Dan password="". Koneksi berfungsi.

Namun, itu ditolak dari PgAdmin III itu sendiri. Saya mendapat:

Error connecting to the server: fe_sendauth: no password supplied

Bagaimana cara saya terhubung ke database saya dari PgAdmin III dengan kata sandi kosong?

SUNTING

Ini hanya tes, bukan kode produksi.

21

Saya dapat terhubung ke instance postgres saya dari pgAdmin III tanpa kata sandi untuk pengguna mana pun termasuk pengguna super seperti postgres.

Karena Anda menghubungkan ok dari klien lain, tidak ada alasan Anda tidak dapat terhubung dari pgAdmin jika mereka berada di workstation yang sama - kecuali beberapa aturan firewall pada klien itu sendiri memungkinkan satu program tetapi tidak yang lain.

Jika masalahnya khusus untuk klien ini, Anda mungkin perlu mengubah satu atau lebih dari:

  • pg_hba.conf
Host semua kepercayaan 192.168.0.nnn/32
  • postgresql.conf
listen_addresses = '*'
  • firewall di server postgres Anda, mis. iptables:
-A INPUT -s 192.168.0.nnn -m state --state NEW -j ACCEPT

Tapi Saya sarankan Anda tidak melakukan semua ini. Manual mengatakan yang berikut dengan alasan yang bagus:

trust trust hanya cocok untuk koneksi TCP/IP jika Anda memercayai setiap pengguna di setiap mesin yang diizinkan untuk terhubung ke server oleh garis pg_hba.conf yang menentukan kepercayaan. Jarang masuk akal untuk menggunakan kepercayaan untuk koneksi TCP/IP selain dari localhost (127.0.0.1).

Sebaliknya, pertimbangkan:

  • menggunakan kata sandi dan identifikasi md5
  • tunneling port 5432 lewat ssh

Saya menemukan jawaban ini di tempat lain.

Jika DB Anda ada di Host lokal, coba biarkan bidang Host kosong di koneksi yang bertentangan dengan menggunakan "localhost" atau "127.0.0.1 ″. Ini memberitahu PgAdmin untuk terhubung melalui soket unix lokal alih-alih TCP.

31
Alex Jodidio