Home > Archive > PostgreSQL Administration > October 2006 > pg_restore and drop table problems









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author pg_restore and drop table problems
Luís Sousa

2006-10-26, 12:16 am

Hi again,

Version: 7.4.7-6sarge3
Structure of database: table A (id_a primary key) <-> table B (id_a,id_c
- foreign keys from table A and table C) <-> table C (id_c primary key).
Table A, table B and table C have one record for test purposes

Problem: After error on pg_restore can't drop table that gave error!

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

What could be happening here?

Best regards,
Luís Sousa

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match

Tom Lane

2006-10-26, 12:16 am

=?ISO-8859-1?Q?Lu=EDs_Sousa?= <llsousa@ualg.pt> 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

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com