As permissões estão certas. Tudo funciona bem, os erros não acontecem sempre
- isso que me deixa furioso.

Encontrei algumas referências na internet sobre a possibilidade de ser o
programa antivírus, que está bloqueando o acesso aos arquivos do PostgreSQL.
Vamos desabilitá-lo temporariamente para avaliar os resultados.

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


2009/8/14 JotaComm <[email protected]>

> Olá, Tiago
>
> 2009/8/14 Tiago Adami <[email protected]>
>
>> 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';
>>
>
> Aqui podemos perceber que o usuário tem problemas de permissão de acesso.
> Como estão as permissões de acesso do diretório data e os seus
> subdiretórios?
>
>>
>>
>> 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 <[email protected]>
>>
>> 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 <[email protected]>
>>>
>>>> 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
>>>> [email protected]
>>>> 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
>>> [email protected]
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>>
>>
>>
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> 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
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a