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

kebingungan port postgresql 5433 atau 5432?

/etc/services hanya penasihat, ini adalah daftar port terkenal. Ini tidak berarti bahwa ada sesuatu yang benar-benar berjalan pada port tersebut atau bahwa layanan bernama akan berjalan pada port tersebut.

Dalam kasus PostgreSQL, biasanya menggunakan port 5432 jika tersedia. Jika tidak, sebagian besar penginstal akan memilih port gratis berikutnya, biasanya 5433.

Anda dapat melihat apa yang sebenarnya berjalan menggunakan netstat alat (tersedia di OS X, Windows, dan Linux, dengan sintaks baris perintah yang bervariasi di ketiganya).

Ini semakin rumit pada sistem Mac OS X oleh kekacauan mengerikan dari paket PostgreSQL yang berbeda - PostgreSQL versi kuno Apple yang terpasang di OS, Postgres.app, Homebrew, Macports, penginstal EnterpriseDB, dll.

Apa yang akhirnya terjadi adalah bahwa pengguna menginstal Pg dan memulai server dari satu kemasan, tetapi menggunakan psql dan libpq klien dari kemasan yang berbeda. Biasanya ini terjadi ketika mereka menjalankan Postgres.app atau homebrew Pg dan terhubung dengan psql yang dikirimkan dengan OS. Terkadang ini tidak hanya memiliki port default yang berbeda, tetapi Pg yang dikirimkan bersama Mac OS X memiliki jalur soket unix default yang berbeda , jadi meskipun server berjalan pada port yang sama, server tidak akan mendengarkan soket unix yang sama.

Sebagian besar pengguna Mac mengatasi ini hanya dengan menggunakan tcp/ip dengan psql -h localhost . Anda juga dapat menentukan port jika diperlukan, misalnya psql -h localhost -p 5433 . Anda mungkin menjalankan beberapa instance PostgreSQL, jadi pastikan Anda terhubung ke instance yang benar dengan menggunakan select version() dan SHOW data_directory; .

Anda juga dapat menentukan direktori soket unix; periksa unix_socket_directories pengaturan instance PostgreSQL yang ingin Anda sambungkan dan tentukan dengan psql -h , mis.psql -h /tmp .

Solusi yang lebih bersih adalah dengan memperbaiki PATH sistem Anda sehingga psql dan libpq terkait dengan PostgreSQL yang sebenarnya Anda jalankan adalah apa yang ditemukan pertama kali di PATH . Detailnya tergantung pada versi Mac OS X Anda dan paket Pg mana yang telah Anda instal. Saya tidak menggunakan Mac dan tidak dapat menawarkan lebih banyak detail di sisi itu tanpa menghabiskan lebih banyak waktu daripada yang tersedia saat ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa format untuk string / URL koneksi PostgreSQL?

  2. Pencadangan Inkremental PostgreSQL dan Pemulihan Point-In-Time

  3. Mengintegrasikan Alat untuk Mengelola PostgreSQL dalam Produksi

  4. Hitung persentase dari SUM() dalam kueri sql SELECT yang sama

  5. Bagaimana Anda menulis kueri case-insensitive untuk MySQL dan Postgres?