Re: should I worry? - Mailing list pgsql-hackers
From | ohp@pyrenet.fr |
---|---|
Subject | Re: should I worry? |
Date | |
Msg-id | Pine.UW2.4.53.0711041717510.13276@sun.pyrenet Whole thread Raw |
In response to | Re: should I worry? (Tom Lane <tgl@sss.pgh.pa.us>) |
Responses |
Re: should I worry?
Re: should I worry? |
List | pgsql-hackers |
Dear Tom, On Sat, 3 Nov 2007, Tom Lane wrote: > Date: Sat, 03 Nov 2007 21:21:20 -0400 > From: Tom Lane <tgl@sss.pgh.pa.us> > To: ohp@pyrenet.fr > Cc: Heikki Linnakangas <heikki@enterprisedb.com>, > pgsql-hackers list <pgsql-hackers@postgresql.org> > Subject: Re: [HACKERS] should I worry? > > ohp@pyrenet.fr writes: > > Is there a query I can use to know all the unamed trigger, delete them and > > recreate with the right sentence? > > I've applied a patch that should persuade the backend to convert the old > CREATE CONSTRAINT TRIGGER commands into proper foreign-key constraints. > I'd suggest applying the patch and re-loading the dump instead of trying > to fix things manually. > > http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/trigger.c.diff?r1=1.219;r2=1.220 > > regards, tom lane > I've tried it and got those logs: Nov 4 16:02:24 sun postgres[12505]: [189-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "RI_ConstraintTrigger_28974025"on table Nov 4 16:02:24 sun postgres[12505]: [189-2] "perso_competences" Nov 4 16:02:24 sun postgres[12505]: [190-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "perso_position" Nov 4 16:02:24 sun postgres[12505]: [191-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "objet_position" Nov 4 16:02:24 sun postgres[12505]: [192-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "objet_position" Nov 4 16:02:24 sun postgres[12505]: [193-1] NOTICE: converting foreign-key trigger group into constraint "<unnamed>" ontable "objet_position" Nov 4 16:02:25 sun postgres[12505]: [194-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "perso_objets" Nov 4 16:02:25 sun postgres[12505]: [195-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "perso_objets" Nov 4 16:02:25 sun postgres[12505]: [196-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "perso_objets" Nov 4 16:02:25 sun postgres[12505]: [197-1] NOTICE: converting foreign-key trigger group into constraint "<unnamed>" ontable "perso_objets" Nov 4 16:02:25 sun postgres[12505]: [198-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "messages_dest" Nov 4 16:02:25 sun postgres[12505]: [199-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "messages_dest" Nov 4 16:02:25 sun postgres[12505]: [200-1] NOTICE: converting foreign-key trigger group into constraint "<unnamed>" ontable "messages_dest" Nov 4 16:02:25 sun postfix/smtpd[12751]: connect from 82-32-100-168.cable.ubr01.hawk.blueyonder.co.uk[82.32.100.168] Nov 4 16:02:26 sun postgres[12505]: [201-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "messages_dest" Nov 4 16:02:26 sun postgres[12505]: [202-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "messages_exp" Nov 4 16:02:26 sun postgres[12505]: [203-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "messages_exp" Nov 4 16:02:26 sun postgres[12505]: [204-1] NOTICE: converting foreign-key trigger group into constraint "<unnamed>" ontable "messages_exp" Nov 4 16:02:26 sun postgres[12505]: [205-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "messages_exp" Nov 4 16:02:26 sun postgres[12505]: [206-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "RI_ConstraintTrigger_28974598"on table Nov 4 16:02:26 sun postgres[12505]: [206-2] "perso_competences" Nov 4 16:02:26 sun postgres[12505]: [207-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "RI_ConstraintTrigger_28974610"on table Nov 4 16:02:26 sun postgres[12505]: [207-2] "perso_competences" Nov 4 16:02:26 sun postgres[12505]: [208-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "perso_position" Nov 4 16:02:26 sun postgres[12505]: [209-1] NOTICE: converting foreign-key trigger group into constraint "<unnamed>" ontable "perso_position" Nov 4 16:02:26 sun postgres[12505]: [210-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "objet_position" Nov 4 16:02:26 sun postgres[12505]: [211-1] NOTICE: converting foreign-key trigger group into constraint "<unnamed>" ontable "objet_position" Nov 4 16:02:26 sun postgres[12505]: [212-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "or_position" Nov 4 16:02:26 sun postgres[12505]: [213-1] NOTICE: converting foreign-key trigger group into constraint "<unnamed>" ontable "or_position" Nov 4 16:02:26 sun postgres[12505]: [214-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "ligne_evt" Nov 4 16:02:26 sun postgres[12505]: [215-1] NOTICE: converting foreign-key trigger group into constraint "<unnamed>" ontable "ligne_evt" Nov 4 16:02:26 sun postgres[12505]: [216-1] ERROR: insert or update on table "ligne_evt" violates foreign key constraint"ligne_evt_levt_tevt_cod_fkey" Nov 4 16:02:26 sun postgres[12505]: [216-2] DETAIL: Key (levt_tevt_cod)=(99) is not present in table "type_evt". Nov 4 16:02:26 sun postgres[12505]: [216-3] STATEMENT: CREATE CONSTRAINT TRIGGER "<unnamed>" Nov 4 16:02:26 sun postgres[12505]: [216-4] AFTER UPDATE ON type_evt Nov 4 16:02:26 sun postgres[12505]: [216-5] FROM ligne_evt Nov 4 16:02:26 sun postgres[12505]: [216-6] NOT DEFERRABLE INITIALLY IMMEDIATE Nov 4 16:02:26 sun postgres[12505]: [216-7] FOR EACH ROW Nov 4 16:02:26 sun postgres[12505]: [216-8] EXECUTE PROCEDURE "RI_FKey_noaction_upd"('<unnamed>', 'ligne_evt', 'type_evt','UNSPECIFIED', 'levt_tevt_cod', 'tevt_cod'); Nov 4 16:02:26 sun postgres[12505]: [217-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "RI_ConstraintTrigger_28973942"on table "perso" Nov 4 16:02:26 sun postgres[12505]: [218-1] NOTICE: converting foreign-key trigger group into constraint "RI_ConstraintTrigger_28973940"on table "perso" Nov 4 16:02:26 sun postgres[12505]: [219-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "RI_ConstraintTrigger_28974582"on table "perso" Nov 4 16:02:26 sun postgres[12505]: [220-1] NOTICE: converting foreign-key trigger group into constraint "RI_ConstraintTrigger_28974580"on table "perso" Nov 4 16:02:26 localhost sqlgrey: grey: new: 82.32.100.168(82.32.100.168), kitchens@profi-martin.de -> catherine@pyrenet.fr Nov 4 16:02:26 sun postgres[12505]: [221-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "objet_generique" Nov 4 16:02:26 sun postgres[12505]: [222-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "objets" Nov 4 16:02:26 sun postgres[12505]: [223-1] NOTICE: converting foreign-key trigger group into constraint "<unnamed>" ontable "objets" Nov 4 16:02:26 sun postgres[12505]: [224-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "objet_generique" Nov 4 16:02:26 sun postgres[12505]: [225-1] NOTICE: converting foreign-key trigger group into constraint "<unnamed>" ontable "objet_generique" Nov 4 16:02:26 sun postgres[12505]: [226-1] ERROR: insert or update on table "objet_generique" violates foreign key constraint"objet_generique_gobj_obcar_cod_fkey" Nov 4 16:02:26 sun postgres[12505]: [226-2] DETAIL: Key (gobj_obcar_cod)=(0) is not present in table "objets_caracs". Nov 4 16:02:26 sun postgres[12505]: [226-3] STATEMENT: CREATE CONSTRAINT TRIGGER "<unnamed>" Nov 4 16:02:26 sun postgres[12505]: [226-4] AFTER UPDATE ON objets_caracs Nov 4 16:02:26 sun postgres[12505]: [226-5] FROM objet_generique Nov 4 16:02:26 sun postgres[12505]: [226-6] NOT DEFERRABLE INITIALLY IMMEDIATE Nov 4 16:02:26 sun postgres[12505]: [226-7] FOR EACH ROW Nov 4 16:02:26 sun postgres[12505]: [226-8] EXECUTE PROCEDURE "RI_FKey_noaction_upd"('<unnamed>', 'objet_generique','objets_caracs', 'UNSPECIFIED', 'gobj_obcar_cod', Nov 4 16:02:26 sun postgres[12505]: [226-9] 'obcar_cod'); Nov 4 16:02:26 sun postgres[12505]: [227-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "RI_ConstraintTrigger_28974035"on table Nov 4 16:02:26 sun postgres[12505]: [227-2] "perso_competences" Nov 4 16:02:26 sun postgres[12505]: [228-1] NOTICE: converting foreign-key trigger group into constraint "RI_ConstraintTrigger_28974033"on table "perso_competences" Nov 4 16:02:27 sun postgres[12505]: [229-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "RI_ConstraintTrigger_28974011"on table "competences" Nov 4 16:02:27 sun postgres[12505]: [230-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "<unnamed>"on table "objet_generique" Nov 4 16:02:27 sun postgres[12505]: [231-1] NOTICE: converting foreign-key trigger group into constraint "<unnamed>" ontable "objet_generique" Nov 4 16:02:27 sun postgres[12505]: [232-1] ERROR: insert or update on table "objet_generique" violates foreign key constraint"objet_generique_gobj_comp_cod_fkey" Nov 4 16:02:27 sun postgres[12505]: [232-2] DETAIL: Key (gobj_comp_cod)=(0) is not present in table "competences". Nov 4 16:02:27 sun postgres[12505]: [232-3] STATEMENT: CREATE CONSTRAINT TRIGGER "<unnamed>" Nov 4 16:02:27 sun postgres[12505]: [232-4] AFTER UPDATE ON competences Nov 4 16:02:27 sun postgres[12505]: [232-5] FROM objet_generique Nov 4 16:02:27 sun postgres[12505]: [232-6] NOT DEFERRABLE INITIALLY IMMEDIATE Nov 4 16:02:27 sun postgres[12505]: [232-7] FOR EACH ROW Nov 4 16:02:27 sun postgres[12505]: [232-8] EXECUTE PROCEDURE "RI_FKey_noaction_upd"('<unnamed>', 'objet_generique','competences', 'UNSPECIFIED', 'gobj_comp_cod', Nov 4 16:02:27 sun postgres[12505]: [232-9] 'comp_cod'); Nov 4 16:02:27 sun postgres[12505]: [233-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "RI_ConstraintTrigger_28974594"on table "competences" Nov 4 16:02:27 sun postgres[12505]: [234-1] NOTICE: ignoring incomplete foreign-key trigger group for constraint "RI_ConstraintTrigger_28974592"on table Nov 4 16:02:27 sun postgres[12505]: [234-2] "perso_competences" Nov 4 16:02:27 sun postgres[12505]: [235-1] NOTICE: converting foreign-key trigger group into constraint "RI_ConstraintTrigger_28974590"on table "perso_competences" I've got two problems: Looking at the errors, ISTM foreign statement is the over way round : levt_tevt_cod is in ligne_evt NOT in type_evt And, looking at the generated foreign keys, I don't see ON UPDATE/ON DELETE clauses Regards, -- Olivier PRENANT Tel: +33-5-61-50-97-00 (Work) 15, Chemin des Monges +33-5-61-50-97-01 (Fax) 31190 AUTERIVE +33-6-07-63-80-64 (GSM) FRANCE Email: ohp@pyrenet.fr ------------------------------------------------------------------------------ Make your life a dream, make your dream a reality. (St Exupery) PS: For obvious reasons, I can't send the schema to the list, but I can send it to you off list if it helps.
pgsql-hackers by date: