サポート対象バージョン
論理レプリケーションを有効にする
logical の場合は、論理レプリケーションはすでに有効になっているため、次の手順に進んでください。結果が replica の場合は、プライマリ インスタンスで alloydb.enable_pglogical フラグと alloydb.logical_decoding フラグを on に設定する必要があります。
これらのフラグを有効にするには、次の手順を実行します。
- Google Cloud Console で AlloyDB の Clusters ページに移動します。プライマリ インスタンスの Actions メニューから Edit をクリックします。
-
下にスクロールして Advanced configuration options セクションを展開します。Flags で Add a database flag をクリックします。
allowdb.enable_pglogicalフラグを追加し、値をonに設定しますalloydb.logical_decodingフラグを追加し、値をonに設定します
- Update instance をクリックして構成変更を保存します。この操作により、プライマリ インスタンスが再起動される点に注意してください。
-
インスタンスのステータスが
UpdatingからReadyに変わったら、次のクエリをプライマリ インスタンスに対して実行し、論理レプリケーションが有効になっていることを確認します。結果はlogicalになるはずです。
ClickPipes ユーザーを作成し、レプリケーション権限を管理する
-
ClickPipes 専用のユーザーを作成します。
-
前の手順で作成したユーザーに、スキーマレベルの読み取り専用アクセス権を付与します。次の例は
publicスキーマに対する権限を示しています。レプリケーションするテーブルを含む各スキーマに対して、これらのコマンドを繰り返してください。 -
ユーザーにレプリケーション権限を付与します。
- レプリケーションしたいテーブルを含む publication を作成します。パフォーマンスのオーバーヘッドを避けるため、publication には必要なテーブルだけを含めることを強く推奨します。
-
特定のテーブルに対する publication を作成するには:
-
特定のスキーマ内のすべてのテーブルに対する publication を作成するには:
-
特定のスキーマ内のすべてのテーブルに対する publication を作成するには:
clickpipes publication は、変更イベントが ClickPipes にストリーミングされる対象テーブルの集合を定義します。すべてのテーブルをレプリケーションするのでない限り、FOR ALL TABLES の使用は推奨しません。不要なテーブルを含めると、Postgres から ClickPipes への WAL トラフィックが増加し、レプリケーション全体の効率が低下するためです。
ネットワークアクセスを設定する
- Private Service Connect を使用
- ClickPipes の IP を許可
- SSH トンネルを使用
GCP でホストされている ClickHouse Cloud サービスからプライベート接続するには、GCP Private Service Connect ガイドに従って、AlloyDB インスタンス用のリバース プライベート エンドポイントを設定します。