TR: redundant constraint_schema

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

Browse pgsql-hackers by date

  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