Em 22 de janeiro de 2015 11:09, Flavio Henrique Araque Gurgel < [email protected]> escreveu:
> Estou tentando testar uma solução de backup que criei, e tive problemas >> para subir subir o banco numa outra máquina. >> >> O backup está sendo feito através do pg_start_backup() e pg_stop_backup(). >> >> Minha máquina de produção está com PostgreSQL 9.3.4 on >> x86_64-unknown-freebsd8.2, compiled by gcc (GCC) 4.2.1 20070719 >> [FreeBSD], 64-bit >> >> A máquina onde estou tentando restaurar o backup é um FreBSD 10.1 com >> PostgreSQL 9.3.4. >> >> Compilei os fontes e instalei da mesma forma que na máquina de produção. >> Descompactei os arquivos de dados, e os arquivos de WAL também. >> >> Criei o recovery.conf apenas com a seguinte linha : >> restore_command = 'cp /dados/wal/hemo/%f %p' >> >> Quando subo o banco tenho as seguintes mensagens no log : >> 2015-01-22 09:42:45 BRST [22212]: [1-1] user=,db= LOG: database system >> was interrupted; last known up at 2015-01-22 01:50:09 BRST >> 2015-01-22 09:42:45 BRST [22212]: [2-1] user=,db= LOG: starting archive >> recovery >> 2015-01-22 09:42:45 BRST [22212]: [3-1] user=,db= LOG: invalid primary >> checkpoint record >> 2015-01-22 09:42:45 BRST [22212]: [4-1] user=,db= LOG: invalid >> secondary checkpoint record >> 2015-01-22 09:42:45 BRST [22212]: [5-1] user=,db= PANIC: could not >> locate a valid checkpoint record >> 2015-01-22 09:43:23 BRST [22210]: [3-1] user=,db= LOG: startup process >> (PID 22212) was terminated by signal 6: Abort trap >> 2015-01-22 09:43:23 BRST [22210]: [4-1] user=,db= LOG: aborting startup >> due to startup process failure >> > > Não houve restauração como pretendido. O banco tentou um início após falha. > Aonde você colocou o recovery.conf? Coloquei na pasta de dados (data_directory). Na mesma pasta onde está o postgresql.conf. > > > Com uma busca na net a solução é rodar o pg_resetxlog. Apesar do banco >> executar o comando restore e disponibiliza-lo para uso, está correto >> isso ?!??! >> > > Não, isso não é sua solução. > O pg_resetxlog é uma alternativa de extrema urgência após uma falha > catastrófica com corrupção de logs de transação, onde não há backup e como > último recurso e perda de dados certeira. > > O que não estou entendo é porque o checkpoint é inválido. >> > > Porque não houve restauração, pelo menos no trecho de log que nos enviou. Mandei o log completo. Está pequeno porque limpei tudo (os logs) antes de dar start no banco. > > Copiei todos os arquivos de dados do banco para a máquina de recuperação >> e todos os arquivos WAL indicados pelo arquivo >> 00000001000000580000000D.00000028.backup. >> >> Que erro estou cometendo ?!??! >> > > Verifique onde colocou seu recovery.conf e as permissões de acesso do > arquivo. Ele tem que estar no diretório de dados e com permissão para o > usuário postgres (a não ser que seu ambiente seja diferente do usual). > As permissões do recovery.conf : -rwxr-xr-x 1 postgres wheel 4730 Jan 22 11:04 recovery.conf*
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
