Snowflake Postgres読み取りレプリカ¶
概要¶
Snowflake Postgresは、 レプリカ の作成をサポートしています。レプリカは、そのインスタンスの変更と継続的に同期される リーダーインスタンス の読み取り専用コピーです。この同期は、ユーザーに対して自動的かつ透過的に行われます。
レプリカは、実稼働に影響を与える可能性のある特定のワークロード(レポートワークロードなど)の読み取りスケーリングとオフロードに役立ちます。レプリカはリーダーと同じストレージサイズを持つ必要がありますが、異なるコンピューティングサイズを持つことができます。
レプリカはリーダーインスタンスと同じネットワークにプロビジョニングされ、その結果、リーダーインスタンスからすべてのイングレスとエグレスのネットワークルールを継承します。
Postgresの認証情報は、レプリカ上の他のすべてのデータとともにコピーされ、リーダーインスタンスと同期されます。
読み取りレプリカの作成¶
元のインスタンスのレプリカとしてPostgresインスタンスを作成するには、 CREATE POSTGRES INSTANCE コマンドで AS REPLICA OF 句を指定します。
CREATE POSTGRES INSTANCE <name>
AS REPLICA OF <orig_name>
[ COMPUTE_FAMILY = <compute_family> ]
[ POSTGRES_SETTINGS = '<json_string>' ]
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> ... ) ]
コマンドパラメーターの場合:
AS REPLICA OF orig_name新しいレプリカインスタンスのリーダーを指定します。
COMPUTE_FAMILY = compute_familySnowflake Postgresインスタンスサイズ テーブルからインスタンスサイズの名前を指定します。
デフォルト:元の名前からコピーされます。
POSTGRES_SETTINGS = 'json_string'オプションで、 JSON 形式でインスタンスのPostgres構成パラメーターを設定できます。利用可能なPostgresパラメーターのリストについては、 Snowflake Postgresのサーバー設定 をご参照ください。
'{"component:name" = "value", ...}'デフォルト:元の名前からコピーされます。
COMMENT = 'string_literal'ユーザーのコメントを指定します。
デフォルト:
NULL
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )タグ の名前とタグ文字列の値を指定します。
タグ値は常に文字列であり、タグ値の最大文字数は256です。
ステートメントでのタグの指定に関する情報については、 Tag quotas をご参照ください。
次の列を持つ1行が返されます。
status
host
CREATE REPLICA SQL の例
インスタンス my_origin_instance のレプリカ my_replica を作成します。
CREATE POSTGRES INSTANCE my_replica
AS REPLICA OF my_origin_instance;
別のコンピューティングファミリーを持つインスタンス my_origin_instance のレプリカ my_replica を作成します。
CREATE POSTGRES INSTANCE my_replica
AS REPLICA OF my_origin_instance
COMPUTE_FAMILY = STANDARD_M;
レプリカの作成に必要な時間は、元のインスタンスのサイズによって異なります。レプリカは構成中に現在の状態を表示します。構成中にレプリカが経験する状態の詳細については、 インスタンスの状態 のリストをご参照ください。
レプリカの動作と制限¶
デフォルトでは、リーダーインスタンスから変更をストリームできるのは 10レプリカ のみです。他のレプリカがストリーミングできるようにするには、Postgres
max_wal_senders設定を増やします( Snowflake Postgresのサーバー設定 を参照)。リーダーPostgresインスタンスは、 レプリカがある間はドロップできません 。リーダーをドロップする前に、すべてのレプリカを削除する必要があります。
リーダーインスタンスに適用されたPostgresサーバー設定は、すべてのレプリカにコピーされます。
