他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

26.2. リカバリ対象の設定

デフォルトでは、リカバリはWALログの最後までリカバリします。以下のパラメータは、それより前の停止ポイントを指定するために使う事ができます。 多くの場合、recovery_targetrecovery_target_namerecovery_target_timerecovery_target_xidのうち一つが使われますが、 設定ファイルで、2つ以上指定された場合、最後に指定されたものが使われます。

recovery_target = 'immediate'

このパラメータは、整合性のとれた状態になると、つまりできるだけ早く、リカバリを終了するよう指定します。 オンラインバックアップからリストアした場合、これはバックアップが終了した時点を意味します。

厳密には、この文字列パラメータは、'immediate'だけが有効な値です。

recovery_target_name (string)

このパラメータは、リカバリを実施するために、(pg_create_restore_point() により作成された)名前付けされたリストアポイントを指定します。

recovery_target_time (timestamp)

このパラメータは、リカバリを実施するタイムスタンプの上限を指定します。 厳密な停止ポイントは、recovery_target_inclusive によっても影響を受けます。

recovery_target_xid (string)

このパラメータは、リカバリを進行させるトランザクションIDの上限を指定します。 トランザクションIDはトランザクションの開始時に順番に割り振られ、トランザクションはそれとは異なる順番で完了し得るということを理解しておいてください。 リカバリされるトランザクションは、指定されたものよりも前 (オプションによっては指定されたものも含まれる) にコミットされたものになります。 厳密な停止ポイントは、recovery_target_inclusive によっても影響を受けます。

以下のオプションはリカバリ対象をより詳細に指定し、リカバリが対象に達した時の動作に影響を与えます。

recovery_target_inclusive (boolean)

指定したリカバリ対象の後に停止するか (true) 、その前に停止するか (false) を指定します。 recovery_target_timerecovery_target_xid のどちらが指定されているかに関係なく、双方に適用されます。 この設定は、指定した対象のコミット時間あるいはトランザクションIDのトランザクションが、それぞれリカバリに含まれるかどうかを制御します。 デフォルトは true です。

recovery_target_timeline (string)

リカバリが作成する個別のタイムラインを指定します。 デフォルトでは、ベースバックアップが取得された際のものと同じタイムラインに沿ってリカバリされます。 これをlatestに設定すると、アーカイブ時に見つけた最新のタイムラインに回復します。これはスタンバイサーバで有用です。 この他にこのパラメータが必要となるのは、ポイントインタイムリカバリの実施後に到達したような状態に戻す場合など、複数回に渡ってリカバリするような複雑なリカバリのシチュエーションのみです。 この論考については 項24.3.5 を参照してください。

pause_at_recovery_target (boolean)

リカバリ対象に到達した場合、リカバリを休止すべきかどうかを指定します。 デフォルトは真です。 これは、このリカバリ対象がリカバリのための最も望ましいポイントかどうかチェックするデータベースに対して、問い合わせが実行されることを可能にするよう仮定されます。 休止された状態は、pg_xlog_replay_resume()(表9-67参照)の使用により再開することができます。 その後、それは回復を終了させます。 このリカバリ対象はその後希望の止まるポイントでなければ、サーバをシャットダウンし、リカバリを継続するため、後の対象とリカバリを続けるための再起動のために、リカバリ対象の設定を変更します。

この設定はhot_standbyが有効になっていない場合、リカバリ対象が設定されていない場合には効果がありません。