Snowflake Postgresインスタンスの管理¶
Snowflake Postgresは、さまざまなインスタンス管理操作を通じてインスタンスを管理できます。これらの操作は、インスタンスを運用可能かつ安全な状態に保つためのメンテナンスの一種です。
インスタンス管理操作を実行するには、短いサービスの中断が必要です。 アプリケーションがデータベースに自動的に再接続できることを確認してください。
注釈
認証情報を明示的にローテーションしない限り、インスタンスの接続文字列はインスタンス管理操作全体で同じままです。
インスタンスの健全性を確保する必要がある場合、お客様に代わってメンテナンス操作をスケジュールすることがあります(たとえば、インスタンスストレージサイズを 変更する など)。
プラットフォームによってインスタンスのメンテナンスがどのように実行されるかの詳細な説明については、 Snowflake Postgresのメンテナンス をご参照ください。
利用可能な操作¶
次の操作は、ダッシュボードのインスタンス詳細ページの Manage ドロップダウンメニューから利用できます。
フォーク - 既存のインスタンスから新しいインスタンスを作成します
変更 - インスタンスのサイズ、ストレージのサイズ、またはインスタンスのPostgresバージョンを変更します
高可用性を有効にする - インスタンスの高可用性を有効にします
レプリカを作成する - インスタンスのレプリカを作成します
インスタンスの一時停止と再開 - Postgresサーバーを停止しますが、ディスク上にデータを保持します
更新 - インスタンスの置換、最新マイナーバージョンへの更新、最新OSバージョンの取得、および最新機能の有効化
サービスを再起動する - PostgreSQL または基になるサーバー全体のいずれかを再起動します
認証情報を再生成する - インスタンスの認証情報を再生成します
フォーク¶
インスタンスをフォークして、既存のインスタンスから新しいインスタンスを作成でき、オプションでフォークする時点を選択できます。デフォルトでは、新しいインスタンスはソースインスタンスの現在の状態からフォークされます。フォークの詳細については、 Snowflake Postgresのポイントインタイムリカバリ をご覧ください。
変更¶
既存のSnowflake Postgresインスタンスに変更を加えるには、そのインスタンスに対する OWNERSHIP または OPERATE 権限が付与されているロールを使用する必要があります。
影響を最小限に抑え、接続文字列を変更することなく、その場でインスタンスのサイズを変更できます。インスタンスのサイズ変更中に、次のことができます。
COMPUTE_FAMILY を別のサイズに変更する。
ストレージの量を変更する。ストレージサイズの増減の両方がサポートされています。
Postgresバージョンを新しいメジャーバージョンにアップグレードする。
インスタンスのリソース構成やメジャーバージョンを変更するには、フェイルオーバーメンテナンスが必要です。詳しくは、:ref:`Snowflake Postgresメンテナンスフェイルオーバー<label-sfpg-maintenance-failover>`を参照してください。
変更するには、次を実行します。
ナビゲーションメニューで Postgres を選択します。
インスタンスを選択します。
右上の Manage メニューで Modify を選択します。
ドロップダウンメニューから、新しい COMPUTE_FAMILY やストレージサイズを選択します。Postgresバージョンの変更に関する詳細については Postgresのメジャーバージョンアップグレード をご参照ください。
Save ボタンを選択して、変更を確認します。
![]()
インスタンスにメンテナンスウィンドウが設定されている場合、置換インスタンスの準備ができた後、次のウィンドウでアップグレードメンテナンスフェイルオーバーが進行します。インスタンスにメンテナンスウィンドウが設定されていない場合、置換インスタンスの準備ができ次第すぐにアップグレードメンテナンスフェイルオーバーが進行します。
Snowflake Postgresインスタンスの構成を変更するには、:doc:`ALTER POSTGRES INSTANCE </sql-reference/sql/alter-postgres-instance>`コマンドを使用します。
Postgresインスタンスの変更の例
既存のインスタンスの COMPUTE_FAMILY を STANDARD_M に、ストレージサイズを 100GB に単一の操作で変更します。
インスタンスにメンテナンスウィンドウが設定されている場合、置換インスタンスの準備ができた後に発生する次のメンテナンスウィンドウ中に、必要なメンテナンスフェイルオーバーが進行します。代わりに置換インスタンスの準備ができ次第すぐにメンテナンスを進行させるには、APPLY IMMEDIATELYを使用します。
または、APPLY ON '<timestamp>'句を使用して、メンテナンスフェイルオーバーを進行させるために、現在から3日以内までの将来の日付またはタイムスタンプを指定することもできます。
注釈
インスタンスにメンテナンスウィンドウが設定されておらず、APPLY IMMEDIATELYまたはAPPLY ON 'timestamp'句を使用しない場合、メンテナンスフェイルオーバーはAPPLY IMMEDIATELYが使用されたかのように進行します。
インスタンスのストレージサイズを縮小する予定の場合、アラートを減らし、すぐにサイズを大きくするために、現在のディスク使用量の1.4倍以上のサイズ変更が現在許可されていることに注意してください。
重要
プライマリインスタンスに加えられたCOMPUTE_FAMILYおよびSTORAGE_SIZE_GBの変更は、現在の読み取りレプリカには適用**されません**。それらには独自の:ui:`Modify`操作が必要です。
指定されたインスタンスでHAが有効になっている場合、COMPUTE_FAMILYおよびSTORAGE_SIZE_GBの変更**は**HAスタンバイにも適用されます。プライマリサーバーのダウンタイムを必要としないため、これらの操作のHAスタンバイインスタンスの置換は、常に置換インスタンスの準備ができ次第すぐに行われます。
注釈
進行中の:ui:`Modify`操作の進捗を追跡する方法について詳しくは、:ref:`DESCRIBE POSTGRES INSTANCE使用上の注意<label-desc-usage-notes>`を参照してください。
Postgresのメジャーバージョンのアップグレード¶
インスタンスのPostgresメジャーバージョンへの変更は、他の:ui:`Modify`操作と同様に:ref:`Snowflake Postgresメンテナンスフェイルオーバー<label-sfpg-maintenance-failover>`操作を介して機能しますが、HAと読み取りレプリカインスタンスに関してはいくつかの重要な違いがあります。
Postgresのメジャーバージョンアップグレード操作はプライマリインスタンスにのみ適用できます。プライマリインスタンスがメジャーバージョンアップグレードを受けると、プライマリインスタンスのアップグレードが完了した**後に**取得されたプライマリインスタンスの新しいバックアップから再構築することにより、既存のリードレプリカおよびHAインスタンスにも同じアップグレードが適用されます。
つまり、プライマリの新しいアップグレード後のバックアップを実行し、そのバックアップから新しいHAや読み取りレプリカインスタンスを構築するのにかかる時間の間、次のようになります。
プライマリには有効なHAインスタンスが存在しません。
引き続きアクセス可能ですが、読み取りレプリカは置換インスタンスの準備ができるまでプライマリから複製されないため、データが古くなります。
Postgresメジャーバージョンアップグレード操作について詳しくは、:ref:`label-sfpg-major-upgrade`を参照してください。
高可用性を有効にする¶
高可用性(HA)が有効になっている場合、プライマリが使用できなくなった場合にプライマリを置き換えるスタンバイホストがインスタンスに含まれます。詳しくは Snowflake Postgresの高可用性 をご覧ください。
レプリカを作成する¶
ダッシュボードからインスタンスのレプリカを作成できます。レプリカは、ソースインスタンスと同期して保たれるソースインスタンスの読み取り専用コピーです。レプリカの作成と使用の詳細については、 Snowflake Postgres読み取りレプリカ をご覧ください。
インスタンスの一時停止と再開¶
中断¶
インスタンスを一時停止すると、インスタンスが実行中の仮想マシンが非アクティブ化されますが、インスタンスを再開できるようにディスクイメージがストレージに保持されます。インスタンスの通常の請求は一時停止されますが、ストレージコストは引き続き発生します。既存の10日分のバックアップも保持されます。
再起動を保留して適用されている操作があった場合、それらはインスタンスの再開時に適用されます。
Snowflake Postgresインスタンスを一時停止または再開するには、インスタンスに対する OWNERSHIP または OPERATE 権限が付与されているロールを使用する必要があります。
Snowflake Postgresでは、ダッシュボードからインスタンスを一時停止できます。
ナビゲーションメニューで Postgres を選択します。
インスタンスを選択します。
右上の Manage メニューで Suspend を選択します。
Suspend ボタンをクリックして、アクションを確認します。
Snowflake Postgresインスタンスを一時停止するには、SUSPENDオプションを指定して:doc:`ALTER POSTGRES INSTANCE </sql-reference/sql/alter-postgres-instance>`コマンドを実行します。例:
これらの操作は非同期です。DESCRIBE POSTGRES INSTANCEコマンドを使用して、これらの操作のステータスを追跡できます。
例:my_instanceという名前のSnowflake Postgresインスタンスを一時停止する
再開¶
一時停止したインスタンスはいつでも再開できます。インスタンスの再開にかかる時間は、インスタンスとデータセットのサイズによって異なります。インスタンスを再開すると、通常の請求とバックアップも再開されます。
更新¶
:ui:`Refresh`は、構成されたリソースに変更を加えることなくインスタンスを置き換えるインスタンス:doc:`メンテナンス操作<postgres-maintenance>`です。これを使用して、インスタンスに最新のOSセキュリティパッチが適用されていること、指定されたメジャーバージョンに対応する最新のPostgresマイナーバージョンが適用されていること、および最新のSnowflake Postgres機能と正しく連携していることを確認してください。
ナビゲーションメニューで Postgres を選択します。
インスタンスを選択します。
右上の Manage メニューで Refresh を選択します。
置換サーバーの準備ができ次第すぐに更新メンテナンスフェイルオーバーを実行する場合は、:ui:`Bypass maintenance Window and apply immediately`を選択します。
Refresh ボタンをクリックして、アクションを確認します。
SQLを介してインスタンス:ui:`Refresh`を実行するには、現在の値と一致するCOMPUTE_FAMILY値でALTER POSTGRES INSTANCEを使用します。たとえば、``myinstance``という名前のSTANDARD_Mインスタンスがある場合、これを使用して:ui:`Refresh`メンテナンスを実行し、置換サーバーの準備ができた後の最初のメンテナンスウィンドウ中にメンテナンスのフェイルオーバー操作を実行します。
これを使用して、次のメンテナンスウィンドウが設定されている場合はそれを待つ代わりに、置換サーバーの準備ができ次第すぐに:ui:`Refresh`メンテナンスフェイルオーバーを実行します。
サービスを再起動する¶
必要に応じて、 PostgreSQL またはPostgresインスタンスを実行する基になるサーバーのいずれかを再起動できます。このタイプのインスタンス管理操作は、レプリカを作成したり、フェールオーバーを実行したりすることなく、その場でサーバーを再起動します。サービスの再起動について詳しくは、:ref:`Snowflake Postgresメンテナンス再起動<label-sfpg-maintenance-restart>`を参照してください。
認証情報を再生成する¶
認証情報を再生成すると、データベースインスタンスの新しい接続文字列が返され、既存の認証情報が置き換えられます。このトピックの詳細については、 Snowflake Postgresのロール をご覧ください。
カスタム構成パラメーター¶
Snowflake PostgresインスタンスのPostgres独自のサーバー設定の多くを変更できます。Snowflake Postgresのサーバー設定 で使用可能な構成パラメーターのリストを確認できます。
Snowflake PostgresインスタンスのPostgres設定を変更するには、そのインスタンスに対する OWNERSHIP または OPERATE 権限が付与されているロールを使用する必要があります。
変更するには、次を実行します。
ナビゲーションメニューで Postgres を選択します。
インスタンスを選択します。
ページ右側で、 Custom parameters の横にある編集アイコンを選択します。
リストから構成パラメーターを選択するか、検索ボックスを使用して特定のパラメーターを検索します。
構成パラメーターに新しい値を入力します。
パラメーターに新しい値を追加し終わったら、 Continue to review をクリックします。次に Submit をクリックして変更を確認します。
インスタンスの:doc:`Postgres設定<postgres-server-settings>`への変更を指定するには、SET POSTGRES_SETTINGSオプションを指定して:doc:`ALTER POSTGRES INSTANCE </sql-reference/sql/alter-postgres-instance>`コマンドを実行します。
POSTGRES_SETTINGSオプションを使用して、次の構造を持つJSON形式の文字列を指定します。
一部のPostgres設定の変更を有効にするには、インスタンスの再起動が必要になる場合があります。ALTER POSTGRES INSTANCEステートメントでAPPLY IMMEDIATELYを指定しない限り、これらの変更は有効になりません。再起動が必要な設定のリストについては、 Postgres設定 のテーブルをご参照ください。
例:my_instanceという名前のSnowflake Postgresインスタンスのwork_mem構成パラメーターを 128MB に設定する
インスタンスの状態¶
新しいインスタンスを作成する場合でも、既存のインスタンスを変更する場合でも、インスタンス管理操作はすべて完了するまでに時間がかかります。正確な時間は、データやスキーマのサイズ、インスタンスのビジー状態など、多くの要因に依存します。インスタンスの状態は、進行中の操作の進行状況に関する洞察を提供します。ダッシュボードに表示されるほか、 DESCRIBE POSTGRES INSTANCE コマンドを実行して確認することもできます。
考えられるインスタンスの状態を以下に示します。インスタンスの変更操作中、置換インスタンスは最初のテーブルにリストされたすべての状態を経由します。作成される新しいインスタンスは、リストされているすべての状態ではなく、一部の状態を経由します。次の表は、通常の操作中に表示される可能性のあるいくつかの追加の状態を示しています。
作成、変更、フォーク中に表示される状態:
状態 |
起こっていること |
通常の所要時間 |
次の状態 |
|---|---|---|---|
作成中 |
新しい基になるサーバーが作成されています |
1~2分 |
復元中 |
復元中 |
最新のベースバックアップをサーバーに復元しています |
変数 |
開始中 |
開始中 |
インスタンス上でPostgresが開始され、ベースバックアップ中に蓄積された WAL が適用されています |
変数 |
再生中 |
再生中 |
前回のベースバックアップ以降の累積 WAL が再生されています |
変数 |
確定中 |
確定中 |
インスタンス構成の確定処理とサーバーの利用開始処理中です |
1~2分 |
準備完了 |
準備完了 |
新しいインスタンスはソースインスタンスと一致し、操作を続行する準備ができています。今後のメンテナンスウィンドウにスケジュールされている場合、インスタンスはその時間まで``Ready``に保持されます。今すぐスケジュールされている場合、 |
N/A |
N/A |
プラットフォームに表示される可能性のあるその他のインスタンスの状態
状態 |
起こっていること |
通常の所要時間 |
次の状態 |
|---|---|---|---|
再起動中 |
基になるサーバーが再起動されています |
1~2分 |
準備完了 |
再開中 |
新しいサーバーが構築され、一時停止されたインスタンスが再開されています |
3~5分 |
準備完了 |
一時停止中 |
インスタンスは一時停止されています |
3~5分 |
一時停止済み |
一時停止済み |
インスタンスは現在一時停止されています |
再開まで |
再開中 |

