So che per impostazione predefinita PostgreSQL è in ascolto sulla porta 5432, ma qual è il comando per determinare effettivamente la porta di PostgreSQL?
Configurazione: Ubuntu 9.10 con PostgreSQL 8.4
So che per impostazione predefinita PostgreSQL è in ascolto sulla porta 5432, ma qual è il comando per determinare effettivamente la porta di PostgreSQL?
Configurazione: Ubuntu 9.10 con PostgreSQL 8.4
Risposte:
lsof e nmap sono soluzioni, ma non sono installate per impostazione predefinita. Quello che vuoi è netstat (8).
sudo netstat -plunt |grep postgres
g
più flag per il ss
comando. Prova:ss -pa |grep postgresql
ss -pan |grep postgres
sia più adatto
L'utilità PostgreSQL pg_lsclusters mostra informazioni sulla configurazione e sullo stato di tutti i cluster, incluso il numero di porta.
$ 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
Questo ha anche il vantaggio di non richiedere i privilegi 'sudo' per essere eseguito.
Sui sistemi Debian e Ubuntu, il comando pg_lsclusters è fornito dal pacchetto postgresql-common, che dovrebbe essere installato di default con il server postgresql.
pg_lsclusters
è un Ubuntu-ism e non è un comando Postgres standard.
Se vuoi farlo dall'interno del database, fai semplicemente "SHOW port". Ma questo presuppone che tu sia stato in grado di collegarti ad esso, almeno localmente ...
Se stai cercando sul computer locale, userei il comando lsof per verificare la porta che sta usando postgresql
lsof -p <postgres_process_id>
Ho macchine con più istanze di postgres in esecuzione - e quindi ho anche il problema di provare ad abbinare il database corretto con ciascuna porta. Tendo a fare:
$ ps aux | grep postgres | grep -v 'postgres:'
E poi, per ciascuna delle istanze restituite, cerca la directory ( -D
argomento) e:
$ sudo grep port $DIR/postgresql.conf
Ecco una soluzione che ho trovato:
sudo apt-get install nmap
sudo nmap localhost | grep postgresql
Se desideri cercare un computer non locale, localhost
passa semplicemente all'indirizzo IP del server.
ss -plung|grep postgres
(nota, stesse bandiere)