Postgres Нет основного недостатка

Есть ли недостаток в отсутствии первичного ключа для таблицы в Postgres? Так как все данные хранятся неупорядоченно в куче в любом случае, является ли основным ключом только способ принудительного применения уникального ключа и индекса в одно и то же время? Или существует фундаментальная функция, которую первичный ключ предоставляет в таблице, а не таблицу, которая не имеет первичного ключа?

Ответы

Ответ 1

Согласно документации Postgres (http://www.postgresql.org/docs/9.2/static/sql-createtable.html):

Технически, PRIMARY KEY является просто комбинацией UNIQUE и NOT NULL, но идентификация набора столбцов в качестве первичного ключа также предоставляет метаданные о структуре схемы, поскольку первичный ключ подразумевает, что другие таблицы могут полагаться на этот набор столбцов в качестве уникальный идентификатор для строк.

Исходя из моего опыта, я создал множество таблиц без них. Но некоторые решения для репликации требуют наличия первичного ключа или идентификатора одного столбца на строку.