From: | Lætitia Avrot <laetitia(dot)avrot(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Constraint documentation |
Date: | 2018-06-02 20:52:58 |
Message-ID: | CAB_COdhUuzNFOJfc7SNNso5rOuVA3ui93KMVunEM8Yih+K5A6A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
Patrick Francelle and I encountered this situation where there was a check
constraint on a table using a function to enforce a constraint across two
different tables. When using pg_dump to dump structure and data we found
out we couldn't restore it because tables weren't dumped in the right order
regarding that constraint.
Then, we found out this thread
https://www.postgresql.org/message-id/11619.1077803699%40sss.pgh.pa.us
where Tom explained how "check constraint were not intended to handle
cross-table checks" and how you should use a trigger instead. If you look
at modeling databases books, you'll actually find someting similar.
By looking at the constraint documentation page, we found out there was
nothing about it. So we decided to write a first version of a patch.
You will find it enclosed.
Here are some informations about it :
Project : postgresql
Branch : master
Applying, compilation and test : I applied it successfully. It compiles
sucessfully and I tested it on my laptop
Platform-specific : there shouldn't be any platform specific item
Regression tests : regression tests are not available for documentation
Documentation : We don't document documentation source code
Performance impact : none
Choices I made and why : I choose to include a trigger link to help users
go to the accurate documentation section. I also choose to add it as a note
so it's more visible (but I'm open minded on that matter)
Adresses a todo item : no
Please let me tell me know if I missed something. I'm waiting for feedbacks
to improve that patch.
Cheers,
Lætitia
--
*Think! Do you really need to print this email ? *
*There is no Planet B.*
Attachment | Content-Type | Size |
---|---|---|
check_constraint_accross_table_note_v1.patch | text/x-patch | 854 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2018-06-02 21:09:02 | Re: pg_config.h.win32 missing a set of flags from pg_config.h.in added in v11 development |
Previous Message | Heikki Linnakangas | 2018-06-02 20:50:49 | Re: [HACKERS] GnuTLS support |