BUG #18295: In PostgreSQL a unique index on targeted columns is sufficient to support a foreign key

Поиск
Список
Период
Сортировка
От PG Bug reporting form
Тема BUG #18295: In PostgreSQL a unique index on targeted columns is sufficient to support a foreign key
Дата
Msg-id 18295-0ed0fac5c9f7b17b@postgresql.org
обсуждение исходный текст
Ответы Re: BUG #18295: In PostgreSQL a unique index on targeted columns is sufficient to support a foreign key  (gparc@free.fr)
Список pgsql-bugs
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 по дате отправления:

Предыдущее
От: PG Bug reporting form
Дата:
Сообщение: BUG #18294: Manual savepoints do not work with JDBC param cleanupSavepoints=true
Следующее
От: Devrim Gündüz
Дата:
Сообщение: Re: BUG #18293: Rocky 8 postgres install failing as nothing provides libarmadillo.so.10()(64bit)