Обсуждение: drop a constraint

Поиск
Список
Период
Сортировка

drop a constraint

От
ochapiteau
Дата:
Hello,
I create my constraint like this :

drop table table1;
drop table table2;
CREATE table table1 (id int4, id_dest int4);
CREATE table table2 (id int4,id_dest int4);
ALTER TABLE table1 add constraint table1_id_table2_id_dest foreign key(id_dest) references table2(id);

drop view dev_ri;
CREATE VIEW dev_ri
AS
SELECT   t.oid as trigoid
          ,c.relname as trig_tbl
      ,t.tgname
          ,t.tgfoid
--          ,f.proname as trigfunc
--          ,t.tgenabled
--          ,t.tgconstrname
          ,c2.relname as const_tbl
--          ,t.tgdeferrable
--          ,t.tginitdeferred
      ,t.tgargs
FROM      pg_trigger t,
          pg_class c,
          pg_class c2,
          pg_proc f
WHERE     t.tgrelid=c.oid
 AND      t.tgconstrrelid=c2.oid
 AND      tgfoid=f.oid
 AND      tgname ~ '^RI_';


i list the trigger so generated :

select * from dev_ri;
 trigoid | trig_tbl |            tgname            | tgfoid | const_tbl |                                      tgargs

---------+----------+------------------------------+--------+-----------+----------------------------------------------------------------------------------
 1641628 | table1   | RI_ConstraintTrigger_1641627 |   1644 | table2    |
table1_id_table2_id_dest\000table1\000table2\000UNSPECIFIED\000id_dest\000id\000
 1641630 | table2   | RI_ConstraintTrigger_1641629 |   1654 | table1    |
table1_id_table2_id_dest\000table1\000table2\000UNSPECIFIED\000id_dest\000id\000
 1641632 | table2   | RI_ConstraintTrigger_1641631 |   1655 | table1    |
table1_id_table2_id_dest\000table1\000table2\000UNSPECIFIED\000id_dest\000id\000

And i try to drop any of this trigger generated :
=# drop trigger  RI_ConstraintTrigger_1641627 on table1;
DropTrigger: there is no trigger ri_constrainttrigger_1641627 on relationtable1;

any suggestion?
do i badly name my trigger ?

thanks,

Re: drop a constraint

От
Alex Pilosov
Дата:
On Fri, 23 Feb 2001, ochapiteau wrote:


> And i try to drop any of this trigger generated :
> =# drop trigger  RI_ConstraintTrigger_1641627 on table1;
Try:
drop trigger  "RI_ConstraintTrigger_1641627" on table1;

Postgres is case-sensitive.