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
