Em 11-03-2011 09:30, Moisés Caribé escreveu:
> Vamos lá:
> SO = Fedora 9
> Ninguém apagou os arquivos, mas o serviço do postgres estava sem querer
> iniciar e o responsável pelo SO executou o comando:
> pg_resetxlog /var/lib/pgsql/data

Nunca execute o pg_resetxlog a não ser que saiba o que está fazendo. Existe 
uma janela embora muito pequena entre remover os arquivos do banco de dados e 
realizar a efetivação da transação. Uma possibilidade é que o pg_resetxlog 
tenha voltado no tempo tornando visíveis as tuplas do pg_database relativas 
aos 3 bancos de dados e talvez algumas tuplas em pg_shdepend.

> Espero ter esclarecido suas dúvidas. Nunca vi isso na vida. A única
> coisa da qual suspeito é o pg_resetxlog, mas como excluir essas bases agora?
>
Para apagar estas entradas órfãs, siga os passos abaixo:

$ pg_ctl stop -D /meu/pgdata
$ postgres --single -D /meu/pgdata
backend> select oid,datname from pg_database where datname in ('foo', 'bar', 
'baz');
backend> delete from pg_database where datname = 'foo';
backend> delete from pg_database where datname = 'bar';
backend> delete from pg_database where datname = 'baz';
backend> delete from pg_shdepend where dbid in (1, 2, 3); -- coloque os oid 
obtidos acima aqui
backend> ^D
$ pg_ctl start -D /meu/pgdata


-- 
   Euler Taveira de Oliveira
   http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a