JotaComm escreveu:
> Não. O erro apareceu depois que um deadlock foi detectado no banco. A
> versão que estamos usando é a 8.3.3.
> 
Sem um exemplo do que está fazendo fica difícil prever algo. Lembro-me que
alguns travamentos (aka _locks_) foram evitados na parte de gatilhos. [Olhando
o código...] Realmente a minha memória estava boa [1]. A partir da 8.4 esse
código foi refatorado e esse erro não aparece mais.

Voltando ao seu problema, acho que você "corrompeu" o seu catálogo. É isso que
a mensagem quer dizer. Faça as seguintes consultas:

euler=# select tgrelid::regclass, tgfoid::regproc, tgname from pg_trigger
where tgrelid = 'foo'::regclass;
 tgrelid |         tgfoid         |           tgname
---------+------------------------+----------------------------
 foo     | "RI_FKey_noaction_del" | RI_ConstraintTrigger_16462
 foo     | "RI_FKey_noaction_upd" | RI_ConstraintTrigger_16463
(2 registros)

euler=# select relname, reltriggers from pg_class where oid = 'foo'::regclass;
 relname | reltriggers
---------+-------------
 foo     |           2
(1 registro)

Você terá problemas caso o número de registros da primeira consulta seja
diferente de 'reltriggers' apresentado na segunda consulta. Neste caso sugiro
ajustar 'reltriggers' para o valor correto.


[1] http://archives.postgresql.org/pgsql-committers/2008-11/msg00092.php


-- 
  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