Re: BUG #18295: In PostgreSQL a unique index on targeted columns is sufficient to support a foreign key
От | gparc@free.fr |
---|---|
Тема | Re: BUG #18295: In PostgreSQL a unique index on targeted columns is sufficient to support a foreign key |
Дата | |
Msg-id | 1142099713.208806083.1706091077854.JavaMail.zimbra@free.fr обсуждение исходный текст |
Ответ на | BUG #18295: In PostgreSQL a unique index on targeted columns is sufficient to support a foreign key (PG Bug reporting form <noreply@postgresql.org>) |
Ответы |
Re: BUG #18295: In PostgreSQL a unique index on targeted columns is sufficient to support a foreign key
Re: BUG #18295: In PostgreSQL a unique index on targeted columns is sufficient to support a foreign key |
Список | pgsql-bugs |
Hello, any comment ? Regards ----- Mail original ----- De: "PG Bug reporting form" <noreply@postgresql.org> À: "pgsql-bugs" <pgsql-bugs@lists.postgresql.org> Cc: "gparc" <gparc@online.fr> Envoyé: Lundi 15 Janvier 2024 12:37:19 Objet: BUG #18295: In PostgreSQL a unique index on targeted columns is sufficient to support a foreign key The following bug has been logged on the website: Bug reference: 18295 Logged by: Gilles PARC Email address: gparc@online.fr PostgreSQL version: 16.1 Operating system: Linux Description: Hello, coming from Oracle, I'm surprised to see that in PostgreSQL, a foreign key can be linked to a unique index on the target table and not exclusively to a primary key constraint or UNIQUE constraint. Even if a primary/unique constraint implies the creation of a unique index, semantically, it's not the same. In Oracle, in that case (only unique index on targeted columns), we get the following error : ORA-02270: no matching unique or primary key for this column-list Reading the PostgreSQL documentation, I found this snippet in Chapter 5.4 (https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK) : "A foreign key must reference columns that either are a primary key or form a unique constraint. This means that the referenced columns always have an index (the one underlying the primary key or unique constraint);" which seems to suggest that in PostgreSQL also a foreign key should refer to a primary/unique constraint on the target table. Is it a bug or an intended feature ? If the latter, I think the doc should be amended to remove any ambiguity. Regards P.S. by the way, I don't know what the SQL standard states about that.
В списке pgsql-bugs по дате отправления: