|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
Re: Banco Corrompeu depois de um desligamento incorreto - RESOLVIDOVou responder às duas mensagens aqui.
On Wed, Nov 4, 2009 at 12:30 PM, Euler Taveira de Oliveira <euler@...> wrote: -- Rogério A Bassete escreveu: ------------------------------------------------------------------------------------------------------------------- Os logs ainda não dizem nada... O que acontece quando você executa o pg_ctl? Segura o terminal? O processo 'postgres' morre? Caso segure o terminal, você pode mostrar um strace do processo? ------------------------------------------------------------------------------------------------------------------- O que o log informava foi o que passei no email anterior e nada mais. O processo não fazia nada e só ficava com aquelas mensagens de debug. ------------------------------------------------------------------------------------------------------------------- O PostgreSQL avisa nesses casos mas vale a pena verificar se: (i) a porta está sendo utilizada por outro software (o PostgreSQL avisa nesse caso), (ii) algum segmento de memória compartilhada ficou para trás ('ipcs -m' pode te dizer isso), (iii) o arquivo postmaster.pid existe e (iv) as permissões estão corretas. O modo silent_mode está habilitado no postgresql.conf? ------------------------------------------------------------------------------------------------------------------- Todas essas opções antes de enviar a mensagem para lista foram verificadas. Não tive outra escolha a não ser executar o pg_resetxlog[1] "..pg_resetxlog -- redefine o conteúdo do log de escrita prévia e outras informações de controle de um agrupamento de bancos de dados do PostgreSQL.." "..O utilitário pg_resetxlog limpa o log de escrita prévia (WAL) e, opcionalmente, redefine algumas outras informações de controle armazenadas no arquivo pg_control. Algumas vezes este utilitário é necessário quando estes arquivos ficam danificados. Deve ser utilizado apenas como último recurso, quando o servidor não iniciar devido a estes arquivos estarem danificados. Após executar este comando deve ser possível iniciar o servidor, mas
deve-se ter em mente que o banco de dados poderá conter dados
inconsistentes devido a transações parcialmente efetivadas. Deve ser
feita, imediatamente, uma cópia de segurança dos dados, executar o initdb e recarregar os dados. Após a recarga as inconsistências devem ser verificadas e corrigidas conforme necessário..." O problema de executar esse utilitário é que certamente alguns dados você perderá. Pedi a DEUS e rodei me baseando nos parâmetros e examinando a situação de cada arquivo no diretório data para as chaves -o, -x, -e, -m, -O e -l. Funcionou e só perderam 4 horas de trabalho. Nada que uma boa chicara de café não ajude a redigitar. :-) Obrigado a todos e em especial ao Euler e ao Rogério. [1] http://www.postgresql.org/docs/8.3/static/app-pgresetxlog.html Marcelo Costa www.marcelocosta.net ------------------------------------------------- “You can't always get what want”, Doctor House in apology to Mike Jagger _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: Banco Corrompeu depois de um desligamento incorreto - RESOLVIDOMarcelo Costa escreveu:
> Não tive outra escolha a não ser executar o pg_resetxlog > Acho que você fez a coisa errada mas ... > Funcionou e só perderam 4 horas de trabalho. > Por curiosidade, você está com fsync desabilitado? O seu checkpoint_timeout está muito alto? PS> nunca vi o PostgreSQL *não* informar alguma mensagem de erro ao iniciar quando há algo de errado. -- Euler Taveira de Oliveira http://www.timbira.com/ _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
| Free embeddable forum powered by Nabble | Forum Help |