Replicação simples de streaming antigo. PostgreSQL: 9.2.7 Windows 8.1 de 64 bits
Meus clusters primário e secundário estão na mesma máquina Windows. Eu já fiz pg_start_backup () e tudo, então os dois nós têm exatamente os mesmos dados.
Agora, o problema com a replicação é "conexão de replicação" do servidor escravo, não conecte ao servidor primário, mas eu posso conectar usando os mesmos parâmetros usando o shell psql. O que eu acho culpado é a cadeia de conexão no recovery.conf do escravo:
primary_conninfo = 'host = 127.0.0.1 port = 5432 user = postgres password = postgres'
Eu tentei localhost, 0.0.0.0, lan IP tudo, mas pg log diz:
FATAL: could not connect to the primary server: FATAL: no pg_hba.conf entry for replication connection from host "127.0.0.1", user "postgres", SSL off
Agora veja o pg_hba.conf do meu mestre:
host all all 0.0.0.0/0 trust
host all postgres 127.0.0.1/0 trust
# IPv6 local connections:
host all all ::1/128 md5
hostnossl all postgres 127.0.0.1/32 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
É como se eu permitisse todas as conexões possíveis, mas o escravo não pode se conectar. Você pode fazer alguma ajuda?
fonte
Adicionar a linha abaixo
pg_hba.conf
e recarregar funcionou para mim. Considerando que o tipo é 'local', não é necessário especificar explicitamente um endereço.E lembre-se de
pg_ctl reload
fonte
Outra solução possível aqui que encontrei. Se você estiver fazendo replicação lógica e tiver o DATABASE definido como replicação, ele não funcionará. Ele precisa apenas obter um parâmetro regular. O
replication
parâmetro é para replicação física, não replicação lógica.Cara, esse levou algum trabalho para descobrir. Eu espero que isso ajude!
fonte