Após uma nova instalação do PostgreSQL (versão 9.2) no meu servidor Ubuntu 12.04, o utilitário clusterdb parou de funcionar. Usei os mesmos arquivos de configuração que usei com a versão 9.1.
Abaixo está o comando real:
clusterdb -v -h localhost -p <port#> -U postgres -d <dbname>
E esta é a resposta que estou recebendo:
clusterdb: could not connect to database <dbname>: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port <port#>?
Consigo me conectar ao servidor localmente e de fora. Também posso usar outros utilitários como o pg_dump sem problemas.
Meu arquivo pg_hba.conf abaixo:
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the replication privilege.
local all postgres md5
host all all x.x.x.x/x md5 #my network
host all all x.x.x.x/x md5 #internal ip of the server
Há alguma alteração de segurança implementada no PostgreSQL 9.2 vs 9.1 que possa impedir que o clusterdb funcione corretamente?
Parece que algo deu errado quando você atualizou. Você deve verificar se os
port
elisten_addresses
estão corretos. Talvez tenhalisten_address
mudado e a instância não esteja mais escutando no host?A razão pela qual essa
pg_dump
e outras ferramentas ainda estão funcionando é provavelmente porque elas estão se conectando pelo soquete unix em vez de TCP/IP.clusterdb
também deve ser capaz de fazer isso se você deixar de fora as opções-h
e-p
.O
pg_hba.conf
não é relevante porque seu cliente não consegue se conectar ao servidor. Você pode verificar se o servidor está escutando no host e na porta esperados comtelnet <host> <port>
.http://www.postgresql.org/docs/9.2/static/runtime-config-connection.html