Thread: Error when dropping table
On 7.4.2, I am trying to drop a table using the command
drop table vm_message cascade;
and I get the error message
relation "vm_message" has rel_triggers = 0
and the table is not dropped. What does this message mean and how can I drop the table?
"Chris White (cjwhite)" <cjwhite@cisco.com> writes: > On 7.4.2, I am trying to drop a table using the command > drop table vm_message cascade; > and I get the error message > relation "vm_message" has rel_triggers = 0 I can't find any such error message in the 7.4 sources. Could we see the exact error display with "\set VERBOSITY verbose"? regards, tom lane
Tom Lane <tgl@sss.pgh.pa.us> writes: > "Chris White (cjwhite)" <cjwhite@cisco.com> writes: >> On 7.4.2, I am trying to drop a table using the command >> drop table vm_message cascade; >> and I get the error message >> relation "vm_message" has rel_triggers = 0 > I can't find any such error message in the 7.4 sources. Oh, here it is --- should have checked the spelling of the pg_class field: elog(ERROR, "relation \"%s\" has reltriggers = 0", RelationGetRelationName(rel)); The most likely bet is that a failed pg_restore left the relation's triggers disabled. You can fix this by doing what the restore should have done: UPDATE pg_catalog.pg_class SET reltriggers = (SELECT count(*) FROM pg_catalog.pg_trigger where pg_class.oid = tgrelid) FROM pg_catalog.pg_namespace WHERE relnamespace = pg_namespace.oid AND nspname !~ '^pg_'; regards, tom lane
ERROR: XX000: relation "vm_message" has rel_triggers = 0 LOCATION: RemoveTriggerById, commands/trigger.c:581 -----Original Message----- From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Tom Lane Sent: Wednesday, June 23, 2004 1:32 PM To: cjwhite@cisco.com Cc: pgsql-admin@postgresql.org Subject: Re: [ADMIN] Error when dropping table "Chris White (cjwhite)" <cjwhite@cisco.com> writes: > On 7.4.2, I am trying to drop a table using the command > drop table vm_message cascade; > and I get the error message > relation "vm_message" has rel_triggers = 0 I can't find any such error message in the 7.4 sources. Could we see the exact error display with "\set VERBOSITY verbose"? regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
Thanks -----Original Message----- From: Tom Lane [mailto:tgl@sss.pgh.pa.us] Sent: Wednesday, June 23, 2004 1:38 PM To: cjwhite@cisco.com Cc: pgsql-admin@postgresql.org Subject: Re: [ADMIN] Error when dropping table Tom Lane <tgl@sss.pgh.pa.us> writes: > "Chris White (cjwhite)" <cjwhite@cisco.com> writes: >> On 7.4.2, I am trying to drop a table using the command >> drop table vm_message cascade; >> and I get the error message >> relation "vm_message" has rel_triggers = 0 > I can't find any such error message in the 7.4 sources. Oh, here it is --- should have checked the spelling of the pg_class field: elog(ERROR, "relation \"%s\" has reltriggers = 0", RelationGetRelationName(rel)); The most likely bet is that a failed pg_restore left the relation's triggers disabled. You can fix this by doing what the restore should have done: UPDATE pg_catalog.pg_class SET reltriggers = (SELECT count(*) FROM pg_catalog.pg_trigger where pg_class.oid = tgrelid) FROM pg_catalog.pg_namespace WHERE relnamespace = pg_namespace.oid AND nspname !~ '^pg_'; regards, tom lane