57

在 Postgres 中没有表的主键有什么缺点吗?由于无论如何所有数据都无序存储在堆中,主键是否只是同时强制执行唯一键和索引的一种方式?或者,与没有主键的表相比,主键在表中提供了一个基本特性吗?

4

1 回答 1

47

根据 Postgres 文档(http://www.postgresql.org/docs/9.2/static/sql-createtable.html):

从技术上讲,PRIMARY KEY 只是 UNIQUE 和 NOT NULL 的组合,但是将一组列标识为主键还提供了有关架构设计的元数据,因为主键意味着其他表可以依赖这组列作为行的唯一标识符。

根据我的经验,我创建了很多没有它们的表。但是一些复制解决方案需要有一个主键,或者每行只有一个列标识符。

于 2012-10-01T20:33:40.583 回答