57

Postgres でテーブルの主キーを持たないことに欠点はありますか? とにかく、すべてのデータが順序付けされずにヒープに格納されるため、主キーは一意のキーとインデックスを同時に強制する方法にすぎませんか? または、主キーを持たないテーブルとは対照的に、主キーがテーブルに提供する基本的な機能はありますか?

4

1 に答える 1

47

Postgres のドキュメント ( http://www.postgresql.org/docs/9.2/static/sql-createtable.html ) によると:

技術的には、PRIMARY KEY は UNIQUE と NOT NULL の組み合わせにすぎませんが、列のセットを主キーとして識別すると、スキーマの設計に関するメタデータも提供されます。行の一意の識別子。

私の経験から、それらなしでたくさんのテーブルを作成しました。ただし、一部のレプリケーション ソリューションでは、主キー、または行ごとに 1 つの列識別子が必要です。

于 2012-10-01T20:33:40.583 に答える