Snowflake Postgresインスタンスの管理¶
Snowflake Postgresは、さまざまなインスタンス管理操作を通じてインスタンスを管理できます。これらの操作は、インスタンスを運用可能かつ安全な状態に保つためのメンテナンスの一種です。
インスタンス管理操作を実行するには、短いサービスの中断が必要です。 アプリケーションがデータベースに自動的に再接続できることを確認してください。
注釈
認証情報を明示的にローテーションしない限り、インスタンスの接続文字列はインスタンス管理操作全体で同じままです。
インスタンスの健全性を確保する必要がある場合、お客様に代わってメンテナンス操作をスケジュールすることがあります(たとえば、インスタンスストレージサイズを 変更する など)。
プラットフォームによってインスタンスのメンテナンスがどのように実行されるかの詳細な説明については、 Snowflake Postgresのメンテナンス をご参照ください。
利用可能な操作¶
次の操作は、ダッシュボードのインスタンス詳細ページの Manage ドロップダウンメニューから利用できます。
フォーク - 既存のインスタンスから新しいインスタンスを作成します
変更 - インスタンスのサイズ、ストレージのサイズ、またはインスタンスのPostgresバージョンを変更します
高可用性を有効にする - インスタンスの高可用性を有効にします
レプリカを作成する - インスタンスのレプリカを作成します
インスタンスの一時停止と再開 - Postgresサーバーを停止しますが、ディスク上にデータを保持します
サービスを再起動する - PostgreSQL または基になるサーバー全体のいずれかを再起動します
認証情報を再生成する - インスタンスの認証情報を再生成します
フォーク¶
You can fork an instance to create a new instance from an existing instance, optionally choosing a point in time to fork from. By default the new instance will be forked from the current state of the source instance. Read more about forking in Snowflake Postgresのポイントインタイムリカバリ.
変更¶
既存のSnowflake Postgresインスタンスに変更を加えるには、そのインスタンスに対する OWNERSHIP または OPERATE 権限が付与されているロールを使用する必要があります。
影響を最小限に抑え、接続文字列を変更することなく、その場でインスタンスのサイズを変更できます。インスタンスのサイズ変更中に、次のことができます。
COMPUTE_FAMILY を別のサイズに変更する。
ストレージの量を変更する。ストレージサイズの増減の両方がサポートされています。
Postgresバージョンを新しいメジャーバージョンにアップグレードする。
インスタンスの構成を変更するには、メンテナンスが必要です。詳細については、 Snowflake Postgresのメンテナンス をご参照ください。
変更するには、次を実行します。
ナビゲーションメニューで Postgres を選択します。
インスタンスを選択します。
右上の Manage メニューで Modify を選択します。
ドロップダウンメニューから、新しい COMPUTE_FAMILY やストレージサイズを選択します。Postgresバージョンの変更に関する詳細については Postgresのメジャーバージョンアップグレード をご参照ください。
Save ボタンを選択して、変更を確認します。
Run the ALTER POSTGRES INSTANCE command to make changes to the configuration of a Snowflake Postgres instance.
注釈
インスタンスへの変更は、非同期操作として適用されます。
To check the status of the operation, run the DESCRIBE POSTGRES INSTANCE command.
ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> SET [ NETWORK_POLICY = <policy_name> ] [ COMMENT = '<string_literal>' ] [ HIGH_AVAILABILITY = { TRUE | FALSE } ] [ COMPUTE_FAMILY = <compute_family> ] [ STORAGE_SIZE_GB = <storage_gb> ] [ POSTGRES_VERSION = { 16 | 17 } ]; [ MAINTENANCE_WINDOW_START = <hour_of_day> ] [ POSTGRES_SETTINGS = '<json_string>'] [ APPLY { IMMEDIATELY | ON '<timestamp>' } ] ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> UNSET { COMMENT | POSTGRES_SETTINGS | NETWORK_POLICY | MAINTENANCE_WINDOW_START } [ , ... ]
NETWORK_POLICY = policy_nameSpecifies the network policy to use for the instance. Changes to the policy may take up to 2 minutes to take effect.
このパラメーターを指定するには、 NETWORK_POLICY オブジェクトに対する USAGE 権限が付与されている必要があります。
HIGH_AVAILABILITY = { TRUE | FALSE }インスタンスの Snowflake Postgresの高可用性 を有効にします。非同期操作として実行します。 DESCRIBE は、操作フィールドでの進行状況を追跡するために使用できます。HA の変更は、インスタンスが READY 状態にある場合にのみ開始でき、他の操作が実行中の場合は開始されません( HA の有効化および無効化を含む)
デフォルト:
FALSECOMPUTE_FAMILY = compute_family.STORAGE_SIZE_GB = storage_gb.POSTGRES_VERSION = 16 | 17
これらの操作は「アップグレード」操作と総称され、一緒に実行されます。
DESCRIBE POSTGRES INSTANCEは操作フィールドでの進行状況を追跡するために使用できます。アップグレード操作は、インスタンスが READY 状態にある場合にのみ開始でき、他の操作が実行中の場合は開始されません
インスタンスにメンテナンスウィンドウが定義されている場合、
APPLY IMMEDIATELYがメンテナンスウィンドウを上書きするように指定されている場合を除き、変更はメンテナンスウィンドウ期間まで有効になりません。POSTGRES_SETTINGS = 'json_string'Specifies the changes to the Postgres settings for the instance. Specify the settings in a JSON-formatted string with the following structure:
'{"component:name" = "value", ...}'Changes to some of the Postgres settings may require an instance restart to take effect. These changes will not take effect unless you specify
APPLY IMMEDIATELYin the ALTER POSTGRES INSTANCE statement. For the list of settings that require a restart, consult the table in Postgres settings.MAINTENANCE_WINDOW_START = hour_or_dayメンテナンスウィンドウが開始できる可能性のある希望の時刻。これは、メンテナンスの開始が許可されている時刻を表す0から23までの整数である必要があります。0は UTC の午前0時を表します。メンテナンスウィンドウは指定された時間から始まる3時間です。既存のメンテナンスウィンドウを設定解除すると、進行中のすべての操作が完了次第すぐに適用されます。
APPLY IMMEDIATELYIf the cluster has a defined maintenance window,
APPLY IMMEDIATELYoverrides the maintenance window for all specified operations to be applied as soon as they are ready.APPLY IMMEDIATELYapplies only toCOMPUTE_FAMILY,STORAGE_SIZE_GB,POSTGRES_VERSION, andPOSTGRES_SETTINGS. For all other options it is ignored.APPLY ON 'timestamp'クラスターに定義済みのメンテナンスウィンドウがある場合、
APPLY ONは、指定されたすべての操作が指定されたタイムスタンプで適用されるように、メンテナンスウィンドウを上書きします。APPLY IMMEDIATELYはPOSTGRES_SETTINGSでは指定できません。指定されたタイムスタンプは、将来の72時間を超えることはできず、次の形式にすることができます。
yyyy-MM-dd
yyyy-MM-dd HH:mm
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd HH:mm zzz
Postgresインスタンスの変更の例
既存のインスタンスの COMPUTE_FAMILY を STANDARD_M に、ストレージサイズを 100GB に単一の操作で変更します。
ALTER POSTGRES INSTANCE my_instance
SET COMPUTE_FAMILY = 'STANDARD_M'
STORAGE_SIZE_GB = 100;
インスタンスのストレージサイズを縮小する予定の場合、アラートを減らし、すぐにサイズを大きくするために、現在のディスク使用量の1.4倍以上のサイズ変更が現在許可されていることに注意してください。
Postgresのメジャーバージョンのアップグレード¶
Snowflake Postgres allows you to schedule your major version upgrades through the Dashboard. To make this change, you'll use the same process as for an instance resize.
Tip
Upgrading your instance to a new major version requires maintenance. See Snowflake Postgresのメンテナンス for general information about maintenance.
メジャーバージョンのアップグレードを開始するには、インスタンスに対する OWNERSHIP または OPERATE 権限が付与されたロールを使用する必要があります。
注釈
You can only upgrade to a newer major version. You can't downgrade to a previous major version.
You can combine a major version upgrade with an instance resize by selecting a new instance size, storage size, or both along with the new version number.
ナビゲーションメニューで Postgres を選択します。
Snowflake Postgresインスタンスを選択します。
右上の Manage メニューで Modify を選択します。
新しいバージョンが利用可能な場合は、Postgresバージョンドロップダウンメニューから選択できます。
Save ボタンを選択して、変更を確認します。
POSTGRES_VERSION パラメーターを希望のバージョンに設定して、 ALTER POSTGRES INSTANCE コマンドを使用してメジャーバージョンのアップグレードを開始できます。
ALTER POSTGRES INSTANCE [IF EXISTS] <name>
SET POSTGRES_VERSION = { 16 | 17 }
POSTGRES_VERSION = { 16 | 17 }アップグレード先のPostgresバージョン。
例:既存のインスタンスを PostgreSQL 17にアップグレードする
ALTER POSTGRES INSTANCE my_instance
SET POSTGRES_VERSION = 17;
例:メジャーバージョンのアップグレードとストレージサイズの増加を組み合わせる
ALTER POSTGRES INSTANCE my_instance
SET POSTGRES_VERSION = 17
STORAGE_SIZE_GB = 100;
Postgresのメジャーバージョンのアップグレードは、他のインスタンス管理操作とは異なる方法で動作します。プロセスを開始すると、Snowflake Postgresは次のステップを実行します。
現在のインスタンスの「非表示」(ユーザーには表示されない)レプリカを作成します。
ソースインスタンスから非表示のレプリカに既存のデータを移行します(期間はデータサイズに比例します)。
メンテナンスウィンドウが到来したら、次を実行します。
書き込みを防ぐためにソースインスタンスをロックします。
非表示のレプリカをアップグレードします(期間は、データサイズではなく、データベース内の オブジェクト数 に依存します)。
アップグレードが完了したら、新しくアップグレードしたインスタンスにフェールオーバーします。
重要な注意点 :
メジャーバージョンの変更はアプリケーションの互換性に影響する可能性があります。アップグレードする前に、新しい PostgreSQL バージョンに対してアプリケーションをテストすることをお勧めします。
読み取りレプリカは、メジャーバージョンのアップグレードを実行すると自動的にアップグレードされますが、そのプライマリがアップグレードされ、新しいバックアップが作成された場合にのみアップグレードされます。それまで、レプリカは引き続き使用できますが、古い状態です。
メンテナンスウィンドウが設定されておらず、実行時間を指定していない場合は、新しいインスタンスに入力されて準備が整うとすぐにアップグレードが開始されます。
この操作により、数分以内のサービス中断が発生します。
アップグレードが失敗した場合、インスタンスは自動的に元のインスタンスに戻ります。
高可用性を有効にする¶
When High Availability (HA) is enabled, your instance includes a standby host that replaces the primary if your primary becomes unavailable. You can read more about this in Snowflake Postgresの高可用性.
レプリカを作成する¶
ダッシュボードからインスタンスのレプリカを作成できます。レプリカは、ソースインスタンスと同期して保たれるソースインスタンスの読み取り専用コピーです。レプリカの作成と使用の詳細については、 Snowflake Postgres読み取りレプリカ をご覧ください。
インスタンスの一時停止と再開¶
インスタンスを一時停止すると、インスタンスが実行中の仮想マシンが非アクティブ化されますが、インスタンスを再開できるようにディスクイメージがストレージに保持されます。インスタンスの通常の請求は一時停止されますが、ストレージコストは引き続き発生します。既存の10日分のバックアップも保持されます。
再起動を保留して適用されている操作があった場合、それらはインスタンスの再開時に適用されます。
Snowflake Postgresインスタンスを一時停止または再開するには、インスタンスに対する OWNERSHIP または OPERATE 権限が付与されているロールを使用する必要があります。
To suspend a Snowflake Postgres instance, run the ALTER POSTGRES INSTANCE command with the SUSPEND option. For example:
ALTER POSTGRES INSTANCE instance_that_definitely_exists SUSPEND; ALTER POSTGRES INSTANCE IF EXISTS instance_that_might_exist SUSPEND;
These operations are asynchronous. You can use the DESCRIBE POSTGRES INSTANCE command to track the status of these operations.
例:my_instanceという名前のSnowflake Postgresインスタンスを一時停止する
ALTER POSTGRES INSTANCE my_instance SUSPEND;
一時停止したインスタンスはいつでも再開できます。インスタンスの再開にかかる時間は、インスタンスとデータセットのサイズによって異なります。インスタンスを再開すると、通常の請求とバックアップも再開されます。
Snowflake Postgresインスタンスを再開するには、 ALTER POSTGRES INSTANCE ... RESUME を実行します。
ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> RESUMEこれらの操作は非同期です。DESCRIBE コマンドを使用して、これらの操作のステータスを追跡できます。
例:my_instanceという名前のSnowflake Postgresインスタンスを再開する
ALTER POSTGRES INSTANCE my_instance RESUME;
サービスを再起動する¶
必要に応じて、 PostgreSQL またはPostgresインスタンスを実行する基になるサーバーのいずれかを再起動できます。このタイプのインスタンス管理操作は、レプリカを作成したり、フェールオーバーを実行したりすることなく、その場でサーバーを再起動します。サービスの再起動についての詳細は、 Snowflake Postgresのメンテナンス をご覧ください。
認証情報を再生成する¶
認証情報を再生成すると、データベースインスタンスの新しい接続文字列が返され、既存の認証情報が置き換えられます。このトピックの詳細については、 Snowflake Postgresのロール をご覧ください。
カスタム構成パラメーター¶
Snowflake PostgresインスタンスのPostgres独自のサーバー設定の多くを変更できます。Snowflake Postgresのサーバー設定 で使用可能な構成パラメーターのリストを確認できます。
Snowflake PostgresインスタンスのPostgres設定を変更するには、そのインスタンスに対する OWNERSHIP または OPERATE 権限が付与されているロールを使用する必要があります。
変更するには、次を実行します。
ナビゲーションメニューで Postgres を選択します。
インスタンスを選択します。
ページ右側で、 Custom parameters の横にある編集アイコンを選択します。
リストから構成パラメーターを選択するか、検索ボックスを使用して特定のパラメーターを検索します。
構成パラメーターに新しい値を入力します。
パラメーターに新しい値を追加し終わったら、 Continue to review をクリックします。次に Submit をクリックして変更を確認します。
To specify changes to the Postgres settings for the instance, run the ALTER POSTGRES INSTANCE command with the SET POSTGRES_SETTINGS option.
With the POSTGRES_SETTINGS option, you specify a JSON-formatted string with the following structure:
'{"component:name" = "value", ...}'
Changes to some of the Postgres settings may require an instance restart to take effect. These changes will not take effect unless you specify APPLY IMMEDIATELY in the ALTER POSTGRES INSTANCE statement. For the list of settings that require a restart, consult the table in Postgres settings.
例:my_instanceという名前のSnowflake Postgresインスタンスのwork_mem構成パラメーターを 128MB に設定する
ALTER POSTGRES INSTANCE my_instance SET POSTGRES_SETTINGS = ( 'work_mem' = '128MB' );
インスタンスの状態¶
新しいインスタンスを作成する場合でも、既存のインスタンスを変更する場合でも、インスタンス管理操作はすべて完了するまでに時間がかかります。正確な時間は、データやスキーマのサイズ、インスタンスのビジー状態など、多くの要因に依存します。インスタンスの状態は、進行中の操作の進行状況に関する洞察を提供します。ダッシュボードに表示されるほか、 DESCRIBE POSTGRES INSTANCE コマンドを実行して確認することもできます。
Possible instance states are listed below. During an instance modification operation, the replacement instance goes through all of the states listed in the first table. A new instance being created goes through some but not all of the states listed. The following table lists some additional states you might see during normal operations.
作成、変更、フォーク中に表示される状態:
状態 |
起こっていること |
通常の所要時間 |
次の状態 |
|---|---|---|---|
作成中 |
新しい基になるサーバーが作成されています |
1~2分 |
復元中 |
復元中 |
最新のベースバックアップをサーバーに復元しています |
変数 |
開始中 |
開始中 |
インスタンス上でPostgresが開始され、ベースバックアップ中に蓄積された WAL が適用されています |
変数 |
再生中 |
再生中 |
前回のベースバックアップ以降の累積 WAL が再生されています |
変数 |
確定中 |
確定中 |
インスタンス構成の確定処理とサーバーの利用開始処理中です |
1~2分 |
準備完了 |
準備完了 |
New instance matches source instance and is ready for the operation to proceed. If scheduled
for an upcoming maintenance window, the instance is kept |
N/A |
N/A |
Other instance states that you might see on the platform:
状態 |
起こっていること |
通常の所要時間 |
次の状態 |
|---|---|---|---|
再起動中 |
基になるサーバーが再起動されています |
1~2分 |
準備完了 |
再開中 |
新しいサーバーが構築され、一時停止されたインスタンスが再開されています |
3~5分 |
準備完了 |
一時停止中 |
インスタンスは一時停止されています |
3~5分 |
一時停止済み |
一時停止済み |
インスタンスは現在一時停止されています |
再開まで |
再開中 |

