Configure PGFS storage for Tiered Tables#

階層テーブルを有効にするには、PGDクラスターで PGFSストレージの場所 を構成する必要があります。これは、 PGDが「コールド」データIcebergテーブルとしてオブジェクトストレージにオフロードする場所を定義します。

S3互換オブジェクトストア AWS S3、Google Cloud Storage、または互換性のあるプライベートストレージを使用できます。

階層化テーブルのPGFSを構成する理由#

これを構成すると

  • 階層テーブルによって管理される パーティションの分析オフロード の宛先をPGDに指定します。

  • レイクハウスクラスター またはPGD親テーブルを使用して、コールドデータを透過的に照会する機能のロックを解除します。

  • これは、オフロード用にPGDノードグループを構成し、AutoPartitionを有効にする前に最初に必要な手順です。

背景については、次を参照してください。 ハイブリッドマネージャーの階層化テーブル

ゴール#

このハウツーを完了すると、次のことができるようになります。

  • オブジェクトストレージバケットを指す有効なPGFSストレージの場所を作成します。

  • PGDクラスターがオフロードにこの場所を使用できることを確認します。

  • PGDノードグループのオフロード設定の構成に進みます。

前提条件#

始める前に

  • ハイブリッドマネージャーでプロビジョニングされた PGDクラスター があります。

  • オブジェクトストレージバケット が作成されました。

  • バケットの アクセス資格情報 があることプライベートの場合。

  • psql またはSQLクライアントを使用してPGDノードに接続している。

ステップ#

ステップ1PGDノードに接続する#

次を使用して接続します。

  • psql

  • DBeaver

  • pgAdmin

  • PGDノードをサポートするSQLクライアント。

ステップ2 pgfs.create_storage_location()を実行する#

パブリックS3バケットの例

SELECT pgfs.create_storage_location(
name => hm_tiered_analytics_store,
url => s3://your-public-bucket/path/to/tiered-data,
options => {"aws_skip_signature": "true"},
credentials => {}
);

プライベートS3バケットの例

SELECT pgfs.create_storage_location(
name => hm_tiered_analytics_store,
url => s3://your-private-bucket/path/to/tiered-data,
options => {"region": "us-west-2"},
credentials => {"access_key_id": "YOUR_AWS_ACCESS_KEY_ID", "secret_access_key": "YOUR_AWS_SECRET_ACCESS_KEY"}
);

ガイダンス

  • url をターゲットバケットパスに置き換えます。

  • 必要に応じて、クラウドプロバイダーに合わせてoptions およびcredentials を調整します。

ステップ3PGFSストレージの場所が作成されたことを検証する#

実行します

SELECT * FROM pgfs.storage_location;

新しく作成したPGFSの場所がリストされるはずです。

注#

  • 複数のPGFSストレージ場所 を作成し、別のPGDノードグループに割り当てることができます。

  • 複数のノードグループが同じバケットにオフロードする場合、データのオーバーラップを回避するために、ノードグループごとに 個別のパスプレフィックス を使用します。

次のステップ#

これで、PGFSストレージの場所の構成が完了しました。

関連概念#

PGFSが階層テーブルにどのように適合するかのアーキテクチャビューについては、次を参照してください。 ハイブリッドマネージャーの階層化テーブル