=?iso-8859-1?Q?Fl=E1vio_Suguimoto?= <[EMAIL PROTECTED]> writes: > EXECUTE ''update pg_class set reltriggers = count(*) from pg_trigger where > pg_class.oid=tgrelid and relname = '' || quote_literal(tablename);
This command is just plain wrong, because the aggregation is done across uncertain scope. Something like update pg_class set reltriggers = (select count(*) from pg_trigger where pg_class.oid=tgrelid) where relname = 'foo' would at least not run the risk of assigning wrong counts. You still have the issue that the commands will touch every table with a given name; there needs to be some thought about schemas here. In general though I agree with Alvaro's comment that touching system catalogs directly is bad practice. You should update to a PG version that has ALTER TABLE DISABLE TRIGGER, and use that. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings