Table options#

PGAAテーブルオプション#

CREATE TABLE 、ALTER TABLE ステートメントは、 USING PGAA WITH ... 句と次のオプションを使用して実行できます。

Option

Type

Description

pgaa.storage_location

text

PGFSストレージ場所の名前。

pgaa.path

text

保存場所内のパス。

pgaa.format

enum

テーブル形式。有効な値は`delta`、iceberg、および`parquet`です。機能によってはサポートされていない場合があります。

pgaa.managed_by

text

カタログ管理テーブルのカタログ名。

pgaa.catalog_namespace

text

カタログ内の名前空間/スキーマ。

pgaa.catalog_table

text

カタログ内のテーブル名。

pgaa.auto_truncate

boolean

アクセス方法がPGAAに切り替わると、ヒープデータが切り捨てられます。 PGD統合が必要です。詳細については、 アナリティクスへのオフロード を参照してください。

pgaa.purge_data_if_exists

boolean

`CREATE TABLE AS`の実行時に既存の分析データをパージします。

pgaa.tiered_table

boolean

階層テーブルとしてマークします。 PGD統合が必要です。詳細については、 階層テーブルの実装 を参照してください。

例#

  • カタログ管理テーブルの作成

CREATE TABLE managed_sales_data (
    id BIGINT,
    sale_date TIMESTAMP,
    amount NUMERIC
)
USING PGAA
WITH (
    pgaa.format = iceberg,
    pgaa.managed_by = my_iceberg_catalog,
    pgaa.catalog_namespace = public,
    pgaa.catalog_table = managed_sales_data
);

注釈

列定義を空の`()` のままにすると、PGAAは、最初にテーブルを照会したときにメタデータファイルからスキーマを自動的に検出し、リモートのIceberg/DeltaメタデータまたはParquetヘッダーで見つかったフィールドに名前で列をマップします。

  • 前の例からテーブルを変更して、PGFSストレージ場所をポイントします。

ALTER TABLE managed_sales_data
SET ACCESS METHOD PGAA,
SET (
    pgaa.format = iceberg,
    pgaa.storage_location = my_lake_data,
    pgaa.path = warehouse_data
);

PGDテーブルオプション#

ヒープまたはHTAPテーブルに対してCREATE TABLE 、ALTER TABLE ステートメントを実行し、次のPGDオプションを指定できます。

Option

Type

Description

pgd.replicate_to_analytics

boolean

オブジェクトストレージへの継続的レプリケーションを有効または無効にします。詳細については、 アナリティクスへの複製 を参照してください。

pgd.purge_analytics_target

boolean

既存のテーブルをオブジェクトストアディレクトリまたはカタログエントリから削除します。詳細については、 階層テーブルの実装 を参照してください。

例#

  • 既存のテーブルを変更して、オブジェクトストレージへの継続的レプリケーションを有効にします。

ALTER TABLE my_table SET (pgd.replicate_to_analytics = TRUE);

アクセス方法の管理#

テーブルのアクセス方法を変更することにより、トランザクションストレージと分析ストレージ間でテーブルを移行します。これは、ローカルのPostgresディスクとオブジェクトストレージ間でデータを手動で移動する直接方法を提供します。詳細は、 アナリティクスへのオフロード を参照してください。

HTAPからPGAAへの切り替え

HTAPテーブルをオブジェクトストレージにオフロードし、ローカルディスク領域を再利用するには、アクセス方法をPGAAに変更します。ローカルデータは削除され、データはデータレイクにのみ残ります。これは、自動化されたライフサイクルオフロードの手動代替です。

ALTER TABLE sales SET ACCESS METHOD PGAA;
SET (
  pgaa.auto_truncate = true,
  pgaa.format = iceberg,
  pgaa.storage_location = my_lake_data,
  pgaa.path = analytical_data
);

PGAAからヒープへの切り替え

分析テーブルをローカルトランザクションテーブルに復元するには、アクセス方法をPGAAからヒープに変更します。 Postgresはオブジェクトストレージからデータをプルし、ローカルストレージページに再構成します。これは、以前にオフロードされたデータに高頻度の更新を実行する必要がある場合に使用します。

ALTER TABLE sales_history SET ACCESS METHOD HEAP;