web-dev-qa-db-ja.com

postgresqlの「バックアップモード」とは何ですか?

PostgreSQL9.3インストール用のスタンバイサーバーをセットアップ中です。 pg_basebackupを使用して、スタンバイサーバーの最初の開始点を取得しようとしていました。ただし、pg_basebackupのドキュメントには、「システムが自動的にバックアップモードに切り替えられることを[確認]する」と記載されています。 「バックアップモード」とは何か、または本番サーバーにどのような影響があるのか​​がわかりません。

pg_basebackupのドキュメントには、バックアップは「データベースの他のクライアントに影響を与えることなく実行される」と記載されていますが、「バックアップモード」が本番サーバーに予期しないことを行わないことを確認する必要があります。

3
Rodel30

バックアップモードの開始と終了は、最初にpg_start_backup()関数を実行し、最後にpg_stop_backup()を実行することを意味します。

それらは、ドキュメントの バックアップ制御機能 で説明されています。

実稼働サーバーでのpg_start_backup()の影響は、チェックポインティング(xlogまたはWALファイルとも呼ばれるトランザクションログを最終データファイルに適用する)によって引き起こされる可能性のあるI/Oスパイクです。
これはオプション--checkpoint=fast|spreadによって軽減される可能性がありますが、 pg_basebackup manpage によると、デフォルトではすでにspreadになっています。

「他のクライアントに影響を与えない」とは、SQLプログラムがバックアップ中に制限なしにすべての操作を続行できることを意味します。バックアップ自体が原因でI/O負荷が原因でパフォーマンスが低下する可能性がありますが、それを回避する方法はありません。

2
Daniel Vérité