Postgres中没有主表的主键是否有任何缺点?由于所有数据无论如何都在堆中无序存储,主键是否只是同时强制执行唯一键和索引的方法?或者是否存在主键在表中提供的基本功能,而不是没有主键的表?
答案 0 :(得分:28)
根据Postgres文档(http://www.postgresql.org/docs/9.2/static/sql-createtable.html):
从技术上讲,PRIMARY KEY仅仅是UNIQUE和NOT的组合 NULL,但将一组列标识为主键也提供 关于模式设计的元数据,作为主键意味着 其他表可以依赖这组列作为唯一标识符 对于行。
根据我的经验,我创造了大量没有它们的桌子。但是一些复制解决方案需要有一个主键,或者每行的单列标识符。