「宣言型テーブルパーティショニング」、つまり独自の構文を持つDBMSのファーストクラスの機能としてのパーティショニングは、PostgreSQL10に追加 。
以前のバージョンでは、「テーブル継承」を使用してもう少し努力することで同じ効果を達成できます。 これを手動で行う方法を説明するページがマニュアルにあります 、要約:
- すべてのパーティションが継承する「マスター」テーブルを作成します。
- それぞれがマスターテーブルから継承する複数の「子」テーブルを作成します。
- パーティションテーブルにテーブル制約を追加して、各パーティションで許可されるキー値を定義します。
- パーティションごとに、キー列にインデックスを作成し、その他の必要なインデックスを作成します。
- オプションで、マスターテーブルに挿入されたデータを適切なパーティションにリダイレクトするトリガーまたはルールを定義します。
- postgresql.confでconstraint_exclusion構成パラメーターが無効になっていないことを確認してください。そうである場合、クエリは希望どおりに最適化されません。
これを簡単にするために、バージョン10にアップグレードできない場合は、pg_partman<などの拡張機能を使用できます。 / a> これにより、パーティションセットを設定および管理するための追加機能が提供されます。