PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

PostgreSQL:Mengapa psql tidak dapat terhubung ke server?

Kesalahan menyatakan bahwa utilitas psql tidak dapat menemukan soket untuk terhubung ke server database Anda. Entah Anda tidak menjalankan layanan database di latar belakang, atau soket terletak di tempat lain, atau mungkin pg_hba.conf perlu diperbaiki.

Langkah 1:Pastikan database berjalan

Perintah dapat bervariasi tergantung pada sistem operasi Anda. Tetapi pada sebagian besar sistem *ix, berikut ini akan berfungsi, ia akan mencari postgres di antara semua proses yang berjalan

ps -ef | grep postgres

Di sistem saya, mac osx, ini memuntahkan

501   408     1   0  2Jul15 ??         0:21.63 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log

Kolom terakhir menunjukkan perintah yang digunakan untuk memulai server, dan opsinya.

Anda dapat melihat semua opsi yang tersedia untuk memulai server postgres menggunakan yang berikut ini.

man postgres

Dari sana, Anda akan melihat bahwa opsi -D dan -r masing-masing adalah datadir &logfilename .

Langkah 2:Jika layanan postgres berjalan

Gunakan find untuk mencari lokasi soket, yang seharusnya berada di suatu tempat di /tmp

sudo find /tmp/ -name .s.PGSQL.5432

Jika postgres sedang berjalan dan menerima koneksi soket, hal di atas akan memberi tahu Anda lokasi soket. Di mesin saya, ternyata:

/tmp/.s.PGSQL.5432

Kemudian, coba sambungkan melalui psql menggunakan lokasi file ini secara eksplisit, mis.

psql -h /tmp/ dbname

Langkah 3:Jika layanan berjalan tetapi Anda tidak melihat soket

Jika Anda tidak dapat menemukan soket, tetapi melihat bahwa layanan sedang berjalan, Verifikasi bahwa file pg_hba.conf mengizinkan soket lokal.

Jelajahi datadir dan Anda akan menemukan pg_hba.conf berkas.

Secara default, di dekat bagian bawah file Anda akan melihat baris berikut:

# "local" is for Unix domain socket connections only
local       all       all       trust

Jika Anda tidak melihatnya, Anda dapat memodifikasi file, dan memulai ulang layanan postgres.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah PostgreSQL mengindeks kolom array?

  2. Penyesuaian PostgreSQL:Hal Utama untuk Mendorong Kinerja

  3. Mendapatkan nama fungsi saat ini di dalam fungsi dengan plpgsql

  4. Bagaimana cara menggunakan skema di Django?

  5. kesalahan aplikasi uji django - Mendapat kesalahan saat membuat basis data uji:izin ditolak untuk membuat basis data