Sé que, por defecto, PostgreSQL escucha en el puerto 5432, pero ¿cuál es el comando para determinar realmente el puerto de PostgreSQL?
Configuración: Ubuntu 9.10 con PostgreSQL 8.4
Sé que, por defecto, PostgreSQL escucha en el puerto 5432, pero ¿cuál es el comando para determinar realmente el puerto de PostgreSQL?
Configuración: Ubuntu 9.10 con PostgreSQL 8.4
Respuestas:
lsof y nmap son soluciones, pero no están instaladas por defecto. Lo que quieres es netstat (8).
sudo netstat -plunt |grep postgres
g
Ya no hay bandera para el ss
comando. Prueba:ss -pa |grep postgresql
ss -pan |grep postgres
es más adecuado
La utilidad PostgreSQL pg_lsclusters muestra información sobre la configuración y el estado de todos los clústeres, incluido el número de puerto.
$ 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
Esto también tiene la ventaja de no requerir privilegios de 'sudo' para ejecutarse.
En sistemas Debian y Ubuntu, el comando pg_lsclusters lo proporciona el paquete postgresql-common, que debe instalarse de manera predeterminada con el servidor postgresql.
pg_lsclusters
es un Ubuntu-ism, y no es un comando estándar de Postgres. Funcionará para este caso, pero no es una solución de uso general ...
Si quiere hacerlo desde la base de datos, simplemente haga "SHOW port". Pero eso supone que has podido conectarte a él, al menos localmente ...
Si está buscando en la máquina local, usaría el comando lsof para verificar el puerto que postgresql está usando
lsof -p <postgres_process_id>
Tengo máquinas con varias instancias de postgres en ejecución, por lo que también tengo el problema de intentar hacer coincidir la base de datos correcta con cada puerto. Tiendo a hacer:
$ ps aux | grep postgres | grep -v 'postgres:'
Y luego, para cada una de las instancias devueltas, busque el directorio ( -D
argumento) y:
$ sudo grep port $DIR/postgresql.conf
Aquí hay una solución que he encontrado:
sudo apt-get install nmap
sudo nmap localhost | grep postgresql
Si desea buscar una máquina no local, simplemente cambie localhost
a la dirección IP del servidor.
ss -plung|grep postgres
(nota, las mismas banderas)