From: | Olivier Leprêtre <o(dot)lepretre(at)gmail(dot)com> |
---|---|
To: | <pgsql-hackers(at)postgresql(dot)org> |
Subject: | TR: redundant constraint_schema |
Date: | 2018-08-31 12:52:07 |
Message-ID: | 5b8939f8.1c69fb81.f1dea.fb40@mx.google.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
Please find a question that didn't get an answer in the pgsql-sql list. I
hope I'll get an answer here.
Thanks,
Olivier
De : Olivier Leprêtre [mailto:o(dot)lepretre(at)gmail(dot)com]
Envoyé : mercredi 29 août 2018 15:49
À : 'pgsql-sql(at)lists(dot)postgresql(dot)org'
Objet : redundant constraint_schema
Hi,
Can someone explain why, when a column is not created (add column if not
exists), a redundant constraint is still created from the REFERENCES part ?
I have a patching script that is supposed to add column if not existing :
ALTER TABLE myschem.table1
ADD COLUMN IF NOT EXISTS col1 VARCHAR(254) REFERENCES
myschem.table2(col2)
When col1 already exists, I expected that nothing would happen. But, when
applying the previous query and then querying :
select constraint_name from information_schema.key_column_usage where
constraint_schema='myschem'
I notice that a new constraint "table1_col2_fkeyxxx" is created each time
the previous ALTER TABLE is called (with xxx being a new number each time)
Thanks,
Olivier
From | Date | Subject | |
---|---|---|---|
Next Message | Georgy Buranov | 2018-08-31 13:36:26 | PostgreSQL logical decoder output plugin - unchanged toast data |
Previous Message | Michael Banck | 2018-08-31 12:50:51 | Progress reporting for pg_verify_checksums |