=?ISO-8859-1?Q?Lu=EDs_Sousa?= <[EMAIL PROTECTED]> writes:
> Steps to reproduce:
> 1. pg_dump with -Fc option from database
> 2. A column name on table C is changed
> 3. pg_restore using option -S and --disable-triggers with error 
> identifying that a column on table C was changed
> 4. drop table B. Can't drop table giving ERROR:  relation "B" has 
> reltriggers = 0

--disable-triggers in 7.x is a crude hack that works by munging the
system catalogs (specifically pg_class.reltriggers).  You need to
un-munge the catalog entries in the way that pg_restore evidently
didn't have a chance to do.

UPDATE pg_catalog.pg_class SET reltriggers = 
(SELECT pg_catalog.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

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to