“Não foi possível criar o soquete IPv6” postgresql standby error

3

Estou tentando criar o Postgresql 9.1 hot-standby usando as seguintes etapas:

  1. Configurou 2 máquinas virtuais de linux. Ip do mestre: 10.10.10.1, IP de espera: 10.10.10.2. Teste de ping passado.
  2. Restaurado o mesmo backup do banco de dados em ambos.
  3. Editado pg_hba no mestre. Linha adicionada:

    host   replication   postgres   10.10.10.2/32   md5
    
  4. postgresql.conf do Master Editado:

    listen_address = '*'
    wal_level = hot_standby
    max_wal_senders = 3
    
  5. Criado o recovery.conf no modo de espera:

    standby_mode = 'on'
    primary_conninfo = 'host=10.10.10.1'
    

Depois de adicionar o recovery.conf, não consigo iniciar o servidor em espera. No log de inicialização, recebo um erro:

> could not create IPv6 socket

Eu perdi alguma coisa?

    
por Alex 16.07.2013 / 14:25

2 respostas

2

Isso acontece quando o IPv6 não está habilitado no kernel, mas os endereços IPv6 são anunciados em algum lugar.

Às vezes, localhost in /etc/hosts designa 127.0.0.1 (IPv4) e ::1 (IPv6). Nesse caso, você pode remover o alias do IPv6 para evitar esse tipo de erro.

O coletor de estatísticas (um processo separado lançado pelo PostgreSQL) usa o nome embutido em código localhost , então esse problema faria com que ele falhasse em iniciar com a mensagem de erro mencionada. No entanto, isso não deve impedir que o próprio PostgreSQL inicie.

Se * incluir endereços IPv6 problemáticos, você poderá resolver o problema sendo seletivo em listen_addresses (o que é uma boa prática de qualquer maneira):

listen_addresses=127.0.0.1,10.10.10.1 # add other interfaces if needed

    
por 17.07.2013 / 00:33
0

Para desativar o erro do IPv6, siga as etapas abaixo.

  1. cole o seguinte código neste arquivo (/etc/sysctl.conf)

    net.ipv6.conf.all.disable_ipv6 = 1

  2. No arquivo postgresql.conf, altere o endereço de escuta para 0.0.0.0

    listen_address = '0.0.0.0'

É isso aí e reinicie o serviço postgreSQL.

    
por 04.07.2017 / 15:00