Atualmente, tenho um script Python que precisa buscar alguns dados de um banco de dados PostgreSQL. Atualmente funciona bem, mas tenho que mover o script para outro servidor B
. O banco de dados PostgreSQL permanecerá no servidor A
.
Portanto, meu script Python precisa acessar o banco de dados PostgreSQL do servidor B
conectando ao servidor A
.
Eu tentei adicionar host=servera.my.url.de
, mas isso me deu
could not connect to server: Connection refused
Is the server running on host "servera.my.url.de" (141.X.YZ.AB) and
accepting TCP/IP connections on port 5432?
O servidor está lá?
ping servera.my.url.de
PING servera.my.url.de (141.X.YZ.AB) 56(84) bytes of data.
64 bytes from XXXXX (141.X.YZ.AB): icmp_req=1 ttl=58 time=3.76 ms
64 bytes from XXXXX (141.X.YZ.AB): icmp_req=2 ttl=58 time=4.07 ms
64 bytes from XXXXX (141.X.YZ.AB): icmp_req=3 ttl=58 time=5.01 ms
^C
--- servera.my.url.de ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 3.768/4.287/5.014/0.529 ms
para que o servidor esteja em execução e acessível.
O meu script Python é o problema?
psql -h servera.my.url.de -p 5930 -c "select 1"
psql: could not connect to server: Connection refused
Is the server running on host "servera.my.url.de" (141.X.YZ.AB) and accepting
TCP/IP connections on port 5930?
e
psql -h servera.my.url.de -p 5932 -U myusername -W -c "select 1"
Password for user myusername:
psql: could not connect to server: Connection refused
Is the server running on host "servera.my.url.de" (141.X.YZ.AB) and accepting
TCP/IP connections on port 5932?
Portscan
$ nmap -p 5000-6000 -sT servera.my.url.de
Starting Nmap 6.00 ( http://nmap.org ) at 2014-02-05 10:40 CET
Nmap scan report for servera.my.url.de (141.X.YZ.AB)
Host is up (0.054s latency).
rDNS record for 141.X.YZ.AB: XXXXXX
Not shown: 992 closed ports
PORT STATE SERVICE
5000/tcp filtered upnp
5025/tcp filtered unknown
5190/tcp filtered aol
5222/tcp filtered xmpp-client
5554/tcp filtered sgi-esphttp
5555/tcp filtered freeciv
5900/tcp filtered vnc
5901/tcp filtered vnc-1
6000/tcp filtered X11
Interessante que o freeciv está rodando ...
Quando aumento o intervalo de portas, obtenho resultados diferentes:
$ nmap -p 1000-6000 -sT servera.my.url.de
Starting Nmap 6.00 ( http://nmap.org ) at 2014-02-05 10:40 CET
Nmap scan report for servera.my.url.de (141.X.YZ.AB)
Host is up (0.054s latency).
rDNS record for 141.X.YZ.AB: XXXXXX
Not shown: 4868 closed ports, 130 filtered ports
PORT STATE SERVICE
3000/tcp open ppp
4443/tcp open pharos
4444/tcp open krb524
A porta 5025 poderia ser o PostgreSQL?
Outras tentativas
$ ps aux | grep postgres | grep -v 'postgres:'
postgres 28928 0.0 0.0 90124 820 ? s 2013 0:59 /usr/lib/postgresql91/bin/postgres -D /path/pgsql/data
[my command]
$ lsof -p 28928
[does not return anything, but does not quit]
Dentro do PostgreSQL eu digitei SHOW port
, mas não retornou nada. Isso significa que o PostgreSQL não está escutando nenhuma porta? Como posso ouvir?
É alguma configuração em /path/pgsql/data
? (Eu não posso acessar isso no momento, mas posso perguntar.)
O que posso fazer para descobrir em qual porta o postgreSql está escutando (ou se está escutando)? Como posso ouvir uma porta (ou mudar a porta)?
Eu não tenho permissões de root nesta máquina, mas posso fazer o login com SSH no servidor A
.
Eu vi Determinando a porta do PostgreSQL e tentei de tudo:
-
netstat
precisa dos direitos de root
-
lsof
não funciona (não tenho idéia do que está errado no servidor ... na minha máquina, funciona bem)
-
pg_lsclusters
parece não estar instalado