在Postgres中没有表的主键有什么缺点吗?由于所有数据无论如何都在堆中无序存储,主键是否只是同时强制执行唯一键和索引的方法?或者是否存在主键在表中提供的基本功能,而不是没有主键的表?
jce*_*ern 35
根据Postgres文档(http://www.postgresql.org/docs/9.2/static/sql-createtable.html):
从技术上讲,PRIMARY KEY只是UNIQUE和NOT NULL的组合,但将一组列标识为主键也提供了有关模式设计的元数据,因为主键意味着其他表可以依赖这组列作为行的唯一标识符.
根据经验,我创造了大量没有它们的桌子.没有主键的一个最大缺点是你不能通过外键进行参照完整性检查 - 因为这种关系需要一个.我认为一些复制解决方案还需要有一个主键,或者每行的单列标识符.