Saya tahu bahwa secara default PostgreSQL mendengarkan pada port 5432, tetapi apa perintah untuk benar-benar menentukan port PostgreSQL?
Konfigurasi: Ubuntu 9.10 dengan PostgreSQL 8.4
Saya tahu bahwa secara default PostgreSQL mendengarkan pada port 5432, tetapi apa perintah untuk benar-benar menentukan port PostgreSQL?
Konfigurasi: Ubuntu 9.10 dengan PostgreSQL 8.4
Jawaban:
lsof dan nmap adalah solusi, tetapi tidak diinstal secara default. Yang Anda inginkan adalah netstat (8).
sudo netstat -plunt |grep postgres
g
bendera lagi untuk ss
perintah. Coba:ss -pa |grep postgresql
ss -pan |grep postgres
lebih cocok
Utilitas PostgreSQL pg_lsclusters memperlihatkan informasi tentang konfigurasi dan status semua cluster, termasuk nomor port.
$ pg_lsclusters
Version Cluster Port Status Owner Data directory Log file
8.4 main 5433 online postgres /var/lib/postgresql/8.4/main /var/log/postgresql/postgresql-8.4-main.log
Ini juga memiliki keuntungan karena tidak memerlukan hak akses 'sudo' untuk dijalankan.
Pada sistem Debian dan Ubuntu, perintah pg_lsclusters disediakan oleh paket postgresql-common, yang harus diinstal secara default dengan server postgresql.
pg_lsclusters
adalah Ubuntu-isme, dan bukan perintah Postgres standar. Ini akan berfungsi untuk kasus ini, tetapi bukan solusi tujuan umum ...
Jika Anda ingin melakukannya dari dalam database, lakukan saja "SHOW port". Tapi itu mengasumsikan Anda sudah bisa terhubung ke sana, setidaknya secara lokal ...
Jika Anda mencari di komputer lokal, saya akan menggunakan perintah lsof untuk memeriksa portgres post yang digunakan
lsof -p <postgres_process_id>
Saya memiliki mesin dengan beberapa instance postgres yang berjalan - dan saya juga memiliki masalah dalam mencoba mencocokkan database yang benar dengan setiap port. Saya cenderung melakukan:
$ ps aux | grep postgres | grep -v 'postgres:'
Dan kemudian, untuk setiap instance yang dikembalikan mencari direktori ( -D
argumen) dan:
$ sudo grep port $DIR/postgresql.conf
Inilah satu solusi yang saya temukan:
sudo apt-get install nmap
sudo nmap localhost | grep postgresql
Jika Anda ingin mencari mesin non-lokal, ubah saja localhost
ke alamat IP server.
ss -plung|grep postgres
(catatan, bendera yang sama)