Ubuntu 18でPostgreSQLデータベースをバックアップする方法

前書き

データの損失は、特にユーザーデータの損失に対して課せられた罰金に対する政府の制裁により、重大な後退となる可能性があります。.


物理的な大災害または悪意のあるハッカーによる攻撃のいずれかから生じる損害を軽減するために、災害復旧計画の方法として定期的なバックアップが必要であると見なされます.

PostgreSQLでは、データのバックアップを実行するための根本的に異なるアプローチがあり、これらには以下が含まれます。

  • PostgreSQLがデータベースにデータを格納するために使用するファイルのコピーを直接作成することを含むファイルシステムバックアップ.
  • 必要に応じてバックアップおよび復元されたログ、および最後のチェックポイント中に作成されたエントリを再生することによりデータベースを一貫性のある状態に復元する、継続的なアーカイブとポイントインタイムリカバリ.
  • データベースの作成に使用するコマンドの生成とファイルへの保存を含むSQLダンプ。このファイルが実行されると、SQLコマンドを使用して、単純なテンプレートでデータベースを再作成します.

このガイドでは、SQLダンプを使用してデータベースのバックアップを作成し、データベースで復元を実行する方法を学びます.

始める前に

このタスクを実行するには、次の条件を満たす必要があります。

  • VPSまたはUbuntu 18.04オペレーティングシステムを実行している専用サーバーでsudo権限を持つ非rootユーザー.
  • VPSにインストールおよび設定されたPostgreSQLデータベースソフトウェアパッケージ。あなたはUbuntu 18.04にPostgreSQLデータベースサーバーをインストールする方法を学ぶことができます.
  • バックアップと復元に使用するサンプルデータベースまたは特定のスキーマ/テーブル(サンプルデータベースを作成してバックアップと復元するため、オプション).

手順

pg_dumpは、データベースのバックアップに使用される公式のPostgreSQLデータベースユーティリティです。.

独自のサンプルデータベースを作成して、バックアップして復元します。.

$ sudo -i -u postgres psql
#CREATEDATABASE sampledb;
#c sampledb;
#CREATETABLE sampleTable(
#sampledb(#tableID SERIAL PRIMARY KEY,
#sampledb(#firstname VARCHAR,
#sampledb(#lastname VARCHAR,
#sampledb(#age INT);
作成可能
#CREATETABLE sampleTable2(
#table2IDシリアルプライマリキー,
#tableID INTREFERENCES sampleTable(tableID),
#場所VARCHAR,
#monthsINT);
作成可能

バックアップ

データベースを終了し、単純なプレーンテキスト形式でバックアップを作成します.

$ pg_dump sampledb > sampledb.sql

ダンプされたデータを sampledb.sqlファイル、それはファイル全体の次の抽出に似ているはずです.


— PostgreSQLデータベースのダンプ

— データベースバージョン10.5からダンプ(Ubuntu 10.5-0ubuntu0.18.04)
— pg_dumpバージョン10.5でダンプ(Ubuntu 10.5-0ubuntu0.18.04)

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = ‘UTF8’;
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config( ‘search_path’、 ”、false);
SET check_function_bodies = false;
SET client_min_messages =警告;
SET row_security = off;


— 名前:plpgsql;タイプ:EXTENSION;スキーマ:-;オーナー:

VPSのデータを、圧縮方式である大規模なデータベースに適していると思われるファイル形式でダンプすることもできます。同じために次のコマンドを使用できます.

次のファイルを使用して、ファイルを圧縮バイナリ形式に圧縮できます。.

$ pg_dump -Fc sampledb > sampledb.bak

次のコマンドを使用して、tarballファイル形式でデータベースをバックアップすることもできます。.

$ pg_dump -Ft sampledb > sampledb.tar

戻す

PostgreSQLコマンドラインビューからデータベースを削除して終了します。.

#DROPDATABASE sampledb;
DROPDATABASE
#q

Pg_restoreは、PostgreSQLがデータベースを復元するために提供するデータベースユーティリティです。.

データを復元するデータベースを作成する必要があることに注意してください.

$ createdb sampledb

テンプレートから存在する場合、データベースが.bakファイル形式であれば、次のコマンドを使用できます。.

$ pg_restore -sampledb -Fc sampledb.bak

.tarファイル形式の場合は、次のコマンドを使用します。

$ pg_restore -d sampledb -Ft sampledb.tar

結論

を使用してデータベースを正常にバックアップおよび復元しました pg_dumpおよびpg_restoreデータベースユーティリティ.

この方法では、一度に1つのデータベースのみがバックアップされ、データベースのスコープ内にあるとは見なされないため、データベースに割り当てられているさまざまなロールはバックアップされません。さまざまなロールを含むすべてのデータベースをバックアップする場合は、以下の形式でpg_dumpalldatabaseユーティリティを使用できます。

$ pg_dumpall > ダンプファイル

これらの上位3つのLinuxホスティングサービスを確認する

FastComet

開始価格:
$ 2.95


信頼性
9.7


価格
9.5


使いやすい
9.7


サポート
9.7


特徴
9.6

レビューを読む

FastCometにアクセス

Hostinger

開始価格:
$ 0.99


信頼性
9.3


価格
9.3


使いやすい
9.4


サポート
9.4


特徴
9.2

レビューを読む

Hostingerにアクセス

ChemiCloud

開始価格:
$ 2.76


信頼性
10


価格
9.9


使いやすい
9.9


サポート
10


特徴
9.9

レビューを読む

ChemiCloudにアクセス

関連するハウツー記事

  • Ubuntu 18にRuby on Railsをインストールする方法
    中間
  • Ubuntu 18.04にPostgreSQLデータベースサーバーをインストールする方法?
    中間
  • Ubuntu 18.04 VPSまたは専用サーバーのPostgreSQLでレプリケーションを設定する方法
    中間
  • MySQL 5を無効にする方法 "厳格モード" Ubuntu 18.04 VPSまたは専用サーバー
    中間
  • Ubuntu 18.04 VPSまたは専用サーバーでSpamAssassinを使用してPostfixを保護する方法
    中間
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me