Infelizmente não há nenhuma informação adicional. O erro aparece nos logs
logo após a execução do INSERT que é disparado pelo TRIGGER.

Realmente, esqueci de comentar, este é um banco de dados que foi recuperado
de um servidor anterior onde o disco rígido apresentou problemas físicos
(bad block), então a única forma de recuperar o banco foi configurando a
opção "ZERO_DAMAGED_PAGES = ON" e fazendo um backup.

A princípio o banco não está corrompido, pois fizemos o backup em arquivo
texto plano para depois restaurá-lo novamente, e apagamos todos os objetos
(exceto as tabelas com dados) para recriá-los posteriormente. E o erro
persiste.

Uma informação adicional: recebi agora a pouco um comunicado por parte do
cliente que a seguinte mensagem está sendo exibida, alternando com esta do
OID:

Error while executing the query;
ERROR: could not open relation 1663/191861/229966: Permission denied;
SELECT * FROM PCCDPITE WHERE ITEM = '003214';

Ou seja, um simples SELECT executado na abertura do cadastro de produtos. Se
fechar o aplicativo, entrar novamente e executar, o erro não aparece mais.
Acredito que estes dois erros tenham a mesma causa, mas já não sei mais o
que pode ser...


-- 
Tiago J. Adami
Dois Vizinhos - Paraná - Brasil


2009/8/14 JotaComm <jota.c...@gmail.com>

> Olá, Tiago
>
> Você deu uma olhada no log de atividades. Aparece mais alguma informação?
> Você verificou se não existe algum índice ou tabela corrompida ou alguma
> coisa do tipo?
>
>
> 2009/8/14 Tiago Adami <adam...@gmail.com>
>
>> Pessoal, preciso de uma ajuda para solucionar um problema que se estende a
>> vários dias.
>>
>> Temos um modelo de banco de dados que é utilizado em mais de 200 clientes,
>> todos para uma base OLTP de um sistema ERP. Em nenhum outro cliente este
>> problema aparece, somente em um cliente que roda Windows 2003 Server e o
>> banco PostgreSQL 8.2.13.
>>
>> A estrutura física compreende 8 VIEWS (cada uma relacionada a uma entidade
>> independente). Para exibir as informações de venda (que envolve estas 8
>> VIEWS) existe uma outra VIEW "superior" chamada FATURAMENTO_VIEW_SRC, que
>> relaciona todas as demais para trazer resultados analiticos. Esta view
>> superior foi montada para servir relatórios de faturamento, e é
>> materializada em uma tabela com a mesma estrutura através de TRIGGERS.
>>
>> Pois bem... ocorre um comportamento anormal em um cliente, apenas neste
>> cliente dentre mais de 200 outros. Quando é gravado uma nota fiscal de
>> venda, um TRIGGER é disparado para gravar os dados da FATURAMENTO_VIEW_SRC
>> na tabela FATURAMENTO, e esporadicamente - sim, somente de vez em quando -
>> ocorre um erro:
>>
>> "Relation with OID 184407 does not exists"
>>
>> Não utilizamos nenhuma tabela temporária, não é realizado nenhum DROP
>> durante a montagem da VIEW e o TRIGGER apenas faz um "INSERT INTO ... SELECT
>> FROM ...".
>>
>> O pior de tudo, é que este OID não existe na tabela pg_class. Acontece ao
>> executar um comando INSERT, se depois do erro eu tentar executá-lo novamente
>> com os mesmos valores, tudo segue-se normalmente.
>>
>> Eu já tentei fazer um backup completo do banco, realizar um DROP DATABASE,
>> depois restaurá-lo novamente para verificar se isso corrige o problema, mas
>> não tive sucesso. Alguém tem alguma idéia?
>>
>> NOTA: Já copiamos a base de dados do cliente para nosso laboratório aqui
>> na empresa e aqui não conseguimos simular o problema.
>>
>>
>> --
>> Tiago J. Adami
>> Dois Vizinhos - Paraná - Brasil
>>
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
> []s
> --
> JotaComm
> http://jotacomm.wordpress.com
> http://www.dextra.com.br/postgres
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a