information_schema and not-null constraints
От | Alvaro Herrera |
---|---|
Тема | information_schema and not-null constraints |
Дата | |
Msg-id | 202309041710.psytrxlsiqex@alvherre.pgsql обсуждение исходный текст |
Ответы |
Re: information_schema and not-null constraints
Re: information_schema and not-null constraints Re: information_schema and not-null constraints |
Список | pgsql-hackers |
In reference to [1], 0001 attached to this email contains the updated view definitions that I propose. In 0002, I took the tests added by Peter's proposed patch and put them in a separate test file that runs at the end. There are some issues, however. One is that the ORDER BY clause in the check_constraints view is not fully deterministic, because the table name is not part of the view definition, so we cannot sort by table name. In the current regression database there is only one case[2] where two constraints have the same name and different definition: inh_check_constraint │ 2 │ ((f1 > 0)) NOT VALID ↵ │ │ ((f1 > 0)) (on tables invalid_check_con and invalid_check_con_child). I assume this is going to bite us at some point. We could just add a WHERE clause to omit that one constraint. Another issue I notice eyeballing at the results is that foreign keys on partitioned tables are listing the rows used to implement the constraints on partitions, which are sort-of "internal" constraints (and are not displayed by psql's \d). I hope this is a relatively simple fix that we could extract from the code used by psql. Anyway, I think I'm going to get 0001 committed sometime tomorrow, and then play a bit more with 0002 to try and get it pushed soon also. Thanks [1] https://postgr.es/m/81b461c4-edab-5d8c-2f88-203108425340@enterprisedb.com [2] select constraint_name, count(*), string_agg(distinct check_clause, E'\n') from information_schema.check_constraints group by constraint_name having count(*) > 1; -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/ "You don't solve a bad join with SELECT DISTINCT" #CupsOfFail https://twitter.com/connor_mc_d/status/1431240081726115845
Вложения
В списке pgsql-hackers по дате отправления: