Adding Foreign Key constraints outside of table def. - Mailing list pgsql-general

From Mike Haberman
Subject Adding Foreign Key constraints outside of table def.
Date
Msg-id 20010622085453.A57556@ncsa.uiuc.edu
Whole thread Raw
List pgsql-general
Hello all,

 I need to add foreign key support outside of the table via the
 CREATE CONSTRAINT TRIGGER .. command.

 1.  Is there a way to add it without worrying about the
     syntax of "RI_FKey_..()"  e.g. (this would be nice if it worked)

     ADD CONSTRAINT $fk.LocalColumnNames FOREIGN KEY ($fk.LocalColumnNames)
     REFERENCES $fk.ForeignTableName ($fk.ForeignColumnNames)
     ON DELETE set null, ON UPDATE cascade;

  2.  assuming no for #1 (the on delete and on update is not accepted)
      I need to do the following:

      CREATE CONSTRAINT TRIGGER "<unnamed>" AFTER UPDATE ON "teamowner"
      NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE
      "RI_FKey_cascade_upd" ('<unnamed>', 'league', 'teamowner', 'UNSPECIFIED', ' leagueownerid', 'id');

      The problem is that I am unable to remove the trigger <unnamed>

      drop trigger name on table  does not work.
      I tried "unnamed", "<unnamed>"

      I need to drop the triggers in case I reload the same schema.

   3. If I drop a table, how come the constainsts for that
   table are NOT dropped as well?

   4. for circular references,
      Table A references B
      B references C
      C references A

      is it impossible to do an insert  (assuming all the foreign key
      constraints are set up) ?


thanks

mike




pgsql-general by date:

Previous
From: Alex Pilosov
Date:
Subject: Re: Re[4]: Postgres is too slow?
Next
From: Shaun Thomas
Date:
Subject: Re: Suggested improvement : Adjust SEQUENCES to accept an INCREMENT of functionname(parameters) instead of an integer