AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-43766

user3837299's questions

Martin Hope
user3837299
Asked: 2014-07-15 22:02:31 +0800 CST

Replicação de streaming Postgresql 9.3 usando dois servidores diferentes

  • 7

Configurações no servidor mestre:

max_wal_senders = 1
wal_level = 'arquivo'
archive_mode = ativado
archive_command = 'cd .'
wal_keep_segments = 10000

Configurações no servidor escravo: no arquivo recovery.conf:

Standby_mode = 'ligado'
primary_conninfo = 'host=ipaddress of master user=repuser'
trigger_file = '/tmp/postgresql.trigger.5432'

log_connections=onestá configurado no servidor master e slave

a entrada é feita para o usuário de replicação no arquivo pg_hba.conf no servidor mestre

replicação de host endereço ipad do usuário/32 confiança

ao tentar replicar, recebo o seguinte erro

2014-07-14 19:28:22 IST LOG: sistema de banco de dados foi desligado em recuperação em 2014-07-14 19:28:21 IST
2014-07-14 19:28:22 IST LOG: entrando no modo de espera
2014-07-14 19:28:22 IST AVISO: WAL foi gerado com wal_level=minimal, dados podem estar faltando
2014-07-14 19:28:22 DICA IST: Isso acontece se você definir temporariamente wal_level=min imal sem fazer um novo backup básico.
2014-07-14 19:28:22 IST LOG: estado de recuperação consistente alcançado em 0/19FFE28
2014-07-14 19:28:22 IST LOG: registro com comprimento zero em 0/19FFE28
2014-07-14 19:28:22 IST FATAL: o identificador do sistema de banco de dados difere entre o primário e o de espera
2014-07-14 19:28:22 IST DETAIL: O identificador principal é 6022019027749040119 , o identificador do standby é 6033562405193904122.
2014-07-14 19:28:23 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:23 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:24 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:24 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:25 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:25 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:26 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:26 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:27 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:27 IST FATAL: o sistema de banco de dados está inicializando
"postgresql-2014-07-14_192822.log" 6630L, 756429C
2014-07-14 19:28:22 IST LOG: sistema de banco de dados foi desligado em recuperação em 2014-07-14 19:28:21 IST
2014-07-14 19:28:22 IST LOG: entrando no modo de espera
2014-07-14 19:28:22 IST AVISO: WAL foi gerado com wal_level=minimal, dados podem estar faltando
2014-07-14 19:28:22 DICA IST: Isso acontece se você definir temporariamente wal_level=minimal sem fazer um novo backup básico.
2014-07-14 19:28:22 IST LOG: estado de recuperação consistente alcançado em 0/19FFE28
2014-07-14 19:28:22 IST LOG: registro com comprimento zero em 0/19FFE28
2014-07-14 19:28:22 IST FATAL: o identificador do sistema de banco de dados difere entre o principal e o de espera
2014-07-14 19:28:22 IST DETAIL: O identificador do primário é 6022019027749040119, o identificador do standby é 6033562405193904122.
2014-07-14 19:28:23 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:23 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:24 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:24 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:25 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:25 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:26 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:26 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:27 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:27 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:28 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:28 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:29 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:29 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:30 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:30 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:31 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:31 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:32 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:32 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:33 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:33 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:34 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:34 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:35 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:35 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:36 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:36 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:37 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:37 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:37 IST FATAL: o identificador do sistema de banco de dados difere entre o principal e o de espera
2014-07-14 19:28:37 IST DETAIL: O identificador do primário é 6022019027749040119, o identificador do standby é 6033562405193904122.
2014-07-14 19:28:38 IST LOG: conexão recebida: host=[local]
2014-07-14 19:28:38 IST FATAL: o sistema de banco de dados está inicializando
2014-07-14 19:28:39 IST LOG: conexão recebida: host=[local]

IST FATAL: o identificador do sistema de banco de dados difere entre o principal e o de espera
2014-07-14 19:28:37 IST DETAIL: O identificador do primário é 6022019027749040119, o identificador do standby é 6033562405193904122.

O que essas linhas significam?

quando eu executo este comando

service postgresql-9.3 start

Recebo o seguinte erro no arquivo startup.log

2014-07-15 11:25:59 IST FATAL: o arquivo de bloqueio "postmaster.pid" já existe
2014-07-15 11:25:59 DICA IST: Há outro postmaster (PID 25961) em execução no diretório de dados "/opt/postgres/PostgreSQL/9.3/data"?

Estenda a pergunta

Somos novos no código aberto do Postgresql. Não conseguimos entender a resposta a esta pergunta. Por favor, se possível, explique brevemente. Seguimos as instruções do livro 'Postgresql 9 Administration Cookbook'. Seguimos estes passos deste livro.

Execute os seguintes passos:

  1. Identifique seus nós Master e Standby e certifique-se de que eles foram configurados de acordo com a receita de melhores práticas.

  2. Configure a segurança de replicação. Crie ou confirme a existência do usuário de replicação no nó mestre

    CREATE USER repuser 
    SUPERUSER 
    LOGIN 
    CONNECTION LIMIT 1 
    ENCRYPTED PASSWORD 'changeme'; 
    
  3. Permita que o usuário de replicação autentique. O exemplo a seguir permite acesso de qualquer endereço IP usando autenticação de senha criptografada; você pode querer considerar opções mais restritivas. Adicione a seguinte linha:

    host replication repuser 127.0.0.1/0 md5 
    
  4. Defina as opções de log em postgresql.conf tanto no Master quanto no Standby, para que você obtenha mais informações sobre tentativas de conexão de replicação e falhas associadas.

    log_connections = on
    
  5. Defina max_wal_senders no Master em postgresql.conf, ou incremente se o valor já for diferente de zero.

    max_wal_senders = 1 
    wal_mode = 'archive' 
    archive_mode = on 
    archive_command = 'cd .' 
    
  6. Ajuste wal_keep_segments no Master em postgresql.conf. Defina um valor não superior à quantidade de espaço livre na unidade na qual o diretório pg_xlog está montado, dividido por 16 MB. Se o pg_xlog não estiver montado em uma unidade separada, não presuma que todo o espaço livre atual esteja disponível para arquivos de log de transações.

    wal_keep_segments = 10000 # e.g. 160 GB 
    
  7. Ajuste os parâmetros de espera quente, se necessário (veja a receita posterior)

  8. Faça um backup básico, muito semelhante ao processo para fazer um backup físico conforme descrito no capítulo de backup.

    uma. Iniciar o backup

        psql -c "select pg_start_backup('base backup for streaming rep')" 
    

    b. Copie os arquivos de dados (excluindo o diretório pg_xlog)

        rsync -cva --inplace --exclude=*pg_xlog* \ 
        ${PGDATA}/ $STANDBYNODE:$PGDATA 
    

    c. Pare o backup

       psql -c "select pg_stop_backup(), current_timestamp" 
    
  9. Defina os recovery.confparâmetros no Standby. Observe que o primary_ conninfo não deve especificar um nome de banco de dados, embora possa conter qualquer outra opção de conexão do PostgreSQL. Observe também que todas as opções em recovery.conf estão entre aspas, enquanto os parâmetros postgresql.conf não precisam estar.

    Standby_mode = 'on' 
    primary_conninfo = 'host=192.168.0.1 user=repuser' 
    trigger_file = '/tmp/postgresql.trigger.5432' 
    
  10. Iniciar servidor em espera

  11. Monitore cuidadosamente o atraso da replicação até que o período de atualização termine. Durante o período de recuperação inicial, o atraso de replicação será muito maior do que normalmente esperaríamos. É recomendável definir hot_Standby = off apenas para o período inicial.

postgresql postgresql-9.3
  • 1 respostas
  • 19716 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve