Ubuntu20.04でPostgreSQL12を使用して継続的なアーカイブを設定し、ポイントインタイムリカバリを実行する方法
著者は、 Diversity in Tech Fund を選択して、 Write forDOnationsプログラムの一環として寄付を受け取りました。
序章
PostgreSQL は、ACIDトランザクションをサポートする広く使用されているリレーショナルデータベースです。 頭字語ACIDは、原子性、一貫性、分離、および耐久性を表します。 これらは、データベース内のデータの永続性と有効性を確保するためにPostgreSQLがサポートするデータベーストランザクションの4つの主要なプロパティです。
PostgreSQLがACIDプロパティを維持するために使用する1つの方法は、先行書き込みログ(WAL)です。 PostgreSQLは、データベースクラスタのデータファイルに変更を書き込む前に、まずデータベース上のすべてのトランザクションをWALログファイルに記録します。
継続的なアーカイブでは、WALファイルがセカンダリストレージにコピーされます。これにはいくつかの利点があります。 たとえば、セカンダリデータベースクラスターは、アーカイブされたWALファイルをレプリケーションの目的で使用できますが、ファイルを使用してポイントインタイムリカバリ(PITR)を実行することもできます。 つまり、事故が発生した場合に、ファイルを使用してデータベースクラスターを望ましいポイントにロールバックできます。
このチュートリアルでは、Ubuntu20.04でPostgreSQL12クラスターを使用して継続的なアーカイブを設定し、クラスターでPITRを実行します。
前提条件
このチュートリアルを完了するには、次のものが必要です。
-
Ubuntu20.04を実行している単一のマシン。 初期サーバーセットアップガイドでは、適切な権限を持つ非rootユーザーを含むサーバーのセットアップについて説明します。
-
マシン上で実行されているPostgreSQL12。 Ubuntu20.04にPostgreSQLをインストールして使用する方法