Eu sei que por padrão o PostgreSQL escuta na porta 5432, mas qual é o comando para determinar realmente a porta do PostgreSQL?
Configuração: Ubuntu 9.10 com PostgreSQL 8.4
Eu sei que por padrão o PostgreSQL escuta na porta 5432, mas qual é o comando para determinar realmente a porta do PostgreSQL?
Configuração: Ubuntu 9.10 com PostgreSQL 8.4
Respostas:
lsof e nmap são soluções, mas não são instalados por padrão. O que você quer é netstat (8).
sudo netstat -plunt |grep postgres
g
mais sinalizador para o ss
comando. Tente:ss -pa |grep postgresql
ss -pan |grep postgres
é mais adequado
O utilitário PostgreSQL pg_lsclusters mostra informações sobre a configuração e o status de todos os clusters, incluindo o número da 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
Isso também tem a vantagem de não exigir privilégios 'sudo' para executar.
Nos sistemas Debian e Ubuntu, o comando pg_lsclusters é fornecido pelo pacote postgresql-common, que deve ser instalado por padrão com o servidor postgresql.
pg_lsclusters
é um Ubuntu-ism e não é um comando padrão do Postgres. Ele vai trabalhar para este caso, mas não é uma solução de uso geral ...
Se você quiser fazer isso de dentro do banco de dados, basta "SHOW port". Mas isso pressupõe que você foi capaz de se conectar a ele, pelo menos localmente ...
Se você estiver pesquisando na máquina local, eu usaria o comando lsof para verificar a porta que o postgresql está usando
lsof -p <postgres_process_id>
Eu tenho máquinas com várias instâncias do postgres em execução - e também tenho o problema de tentar combinar o banco de dados correto com cada porta. Eu costumo fazer:
$ ps aux | grep postgres | grep -v 'postgres:'
E então, para cada uma das instâncias retornadas, procure o diretório ( -D
argumento) e:
$ sudo grep port $DIR/postgresql.conf
Aqui está uma solução que eu encontrei:
sudo apt-get install nmap
sudo nmap localhost | grep postgresql
Se você deseja pesquisar uma máquina não local, basta alterar localhost
para o endereço IP do servidor.
ss -plung|grep postgres
(note, mesmas bandeiras)