すべてのプロダクト
Search
ドキュメントセンター

PolarDB:パーティションテーブルでサポートされるDDL操作

最終更新日:May 24, 2024

パーティションテーブルにグローバルインデックスがある場合、パーティションテーブルに対してDDL操作を実行できます。

構文

ALTER TABLE relation_expr alter_partition_cmd [update_global_index_clause]
  alter_partition_cmd = { DROP PARTITION partition_name |  
  partition_valuesのDROP PARTITION |
  PARTITION partition_name table_partition_descriptionを追加 | .....}
  update_global_index_clause = { UPDATE | 無効} グローバルインデックス} 

説明

  • UPDATE GLOBAL INDEXES: パーティションテーブルに対してDDL操作を実行するときにUPDATE GLOBAL INDEXES句を使用すると、パーティションテーブルのすべてのグローバルインデックスが更新されます。 現在のバージョンでは、UPDATE GLOBAL INDEXES句はサポートされていません。 DDL操作を実行するときにこの句を使用すると、エラーが報告されます。
  • INVALIDATE GLOBAL INDEXES: パーティションテーブルに対してDDL操作を実行するときにINVALIDATE GLOBAL INDEXES句を使用すると、パーティションテーブルのすべてのグローバルインデックスが無効になります。
  • デフォルトの動作:
    • デフォルトでは、グローバルインデックスを含むパーティションテーブルでDDLステートメントが実行されると、エラーが報告されます。
    • polar_enable_invalidate_global_indexパラメーターがonに設定されており、前述のUPDATE GLOBAL INDEXESおよびINVALIDATE GLOBAL INDEXESキーワードが使用されていない場合、パーティションテーブルのすべてのグローバルインデックスはデフォルトで無効になります。 DDLステートメントにTRUNCATE、CLUSTER、またはVACUUM FULLを含めると、指定されたパーティションテーブルのすべてのグローバルインデックスが無効になります。
  • パーティションテーブルにグローバルインデックスがある場合、次のDDL操作を実行できます。
    • パーティションをドロップ
    • 分割パーティション
    • マージパーティション
    • 交換パーティション
    • パーティションの切り捨て
    • 子テーブルの切り捨て
    • クラスター /真空フル子テーブル
  • 次のいずれかのDDL操作を実行するときにINVALIDATE GLOBAL INDEXES句を使用すると、指定されたパーティションテーブルのグローバルインデックスは無効になりません。
    • パーティションの追加
    • パーティションを移動

  • パーティション
    を追加ALTER TABLE gi_ora add partition p4値より少ない (400);
    
    ALTER TABLE gi_ora ADD PARTITION p4値より少ない (400) 更新グローバルインデックス;
    
    ALTER TABLE gi_ora ADD PARTITION p4値が (400) グローバルインデックスを無効にします。(1行) 
  • ドロップパーティション
    ALTER TABLE gi_oraドロップパーティションp4更新グローバルインデックス;
    ALTER TABLE gi_ora DROP PARTITION p4グローバルインデックスを無効にします。