Snowflake Connector for PostgreSQL データソースの前提条件¶
注釈
Snowflake Connector for PostgreSQL は コネクタ規約 に従います。
Snowflake Connector for PostgreSQL をインストールする前に、次のタスクを実行して関連するデータソースを準備します。
関連データソースを構成する¶
Snowflakeと同期するデータが含まれている PostgreSQL のバージョン11以上のサーバーがあることを確認します。 Snowflake Connector for PostgreSQL をインストールする前に、 PostgreSQL 環境で次を実行します。
wal_levelの構成¶
Snowflake Connector for PostgreSQL では、 wal_level を logical
に設定する必要があります
PostgreSQL サーバーがホストされている場所に応じて、さまざまな方法で実行できます
オンプレミス |
スーパーユーザーまたは
|
RDS |
エージェントが使用するユーザには、 次も設定する必要があります。
|
AWS Aurora |
|
GCP |
次のフラグを設定します。
|
Azure |
レプリケーションサポートを |
パブリケーションの構成¶
Snowflake Connector for PostgreSQL では、 パブリケーション を作成および設定する必要があります。
データベースに CREATE
権限を持つユーザーとしてログインし、次のクエリを実行します。
CREATE PUBLICATION <publication name>;
その後、次を使用して Snowflake Connector for PostgreSQL エージェントが参照できるテーブルを定義します。
ALTER PUBLICATION <publication name> ADD TABLE <table name>;
注意
Postgres v15以降の場合
テーブルの列のサブセットに対して作成されたパブリケーションの場合は、 ADD_TABLE_WITH_COLUMNS プロシージャを使用し、まったく同じ列のセットを指定して、レプリケーション用のテーブルを追加してください。
ADD_TABLES
を使用する場合、コネクタは機能しますが、次のような明らかでない副作用が発生します。
宛先データベースでは、フィルターに含まれていない列に
_DELETED
というサフィックスが付きます。スナップショットフェーズ中にレプリケートされたすべてのデータはそのまま残ります。パブリケーションにさらに列を追加すると、テーブルは
Permanently Failed
状態になり、レプリケーションの再起動が必要になります。
詳細については、 ALTER PUBLICATION ドキュメント をご参照ください。
レプリケーションスロットの作成¶
Snowflake Connector for PostgreSQL は、パターン sf_db_conn_rs_kbmd_<DATASOURCE NAME>
を持つ名前で PostgreSQL サーバーに レプリケーションスロット を作成します。ここで、 <DATASOURCE NAME>
は ADD_DATA_SOURCE プロシージャで指定されたものです。
コネクタが使用されなくなった場合は、 PostgreSQL サーバーにデータが蓄積されないようにレプリケーションスロットを削除する必要があります。
select pg_drop_replication_slot(<slot_name>)
必要なユーザーを作成する¶
REPLICATION
属性を持つ Snowflake Connector for PostgreSQL のユーザーを作成します。レプリケーションセキュリティの詳細については、 PostgreSQL ドキュメント をご参照ください。
次のステップ¶
これらの手順を完了したら、 Snowsight を使用した Snowflake Connector for PostgreSQL の設定 のステップに従います。