I've uploaded also the script output ( CASCADE traces ) :

 http://strk.keybit.net/tmp/could_not_open_relation.sql
 http://strk.keybit.net/tmp/could_not_open_relation.log

And realized that the relation oid is the one first
requested for deletion. Ie:

 DROP TABLE XXX CASCADE;
 ..
 ERROR:  could not open relation with OID XXX:regclass::oid

I've found two ways to avoid the error:

1. Perform the DROP TABLE outside the transaction triggering its creation
2. Avoiding population of the table being dropped (the AddEdge call)

Note that the 'edge_data' table has a foreign key to itself, and the
constraint is initially deferred (may have a role here, I guess ?)

  "next_left_edge_exists" FOREIGN KEY (abs_next_left_edge)
      REFERENCES.edge_data(edge_id)
      DEFERRABLE
      INITIALLY DEFERRED,
  "next_right_edge_exists" FOREIGN KEY (abs_next_right_edge)
      REFERENCES edge_data(edge_id)
      DEFERRABLE
      INITIALLY DEFERRED

--strk;

  ()   Free GIS & Flash consultant/developer
  /\   http://strk.keybit.net/services.html

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to