開発運用

PostgreSQL データ移行手順

PostgreSQLのデータディレクトリを別の場所に移動する手順について、以下に詳しく説明します。この手順は、特にUbuntu 16.04サーバーでの実施を前提にしています。PostgreSQLのデータベースが格納されているディレクトリを変更することにより、ストレージの最適化やパフォーマンス向上、または管理上の理由でディスクの選択を変更したい場合に有効です。

1. 事前準備

まず最初に、PostgreSQLのデータディレクトリを移動する前に、現在の設定を確認し、適切なバックアップを取ることが重要です。

バックアップ

PostgreSQLのデータを移動する際、データの損失を避けるためにバックアップを取ります。以下のコマンドを使用してバックアップを作成します。

bash
sudo -u postgres pg_dumpall > backup.sql

このコマンドでデータベース全体のバックアップが作成されます。万が一のトラブルに備えて、バックアップファイル(backup.sql)を安全な場所に保存してください。

PostgreSQLの停止

データディレクトリの移動作業を行うためには、PostgreSQLを一時的に停止する必要があります。以下のコマンドを使用してPostgreSQLを停止します。

bash
sudo systemctl stop postgresql

2. 新しいデータディレクトリを作成

次に、新しいデータディレクトリを作成します。通常、PostgreSQLのデータは/var/lib/postgresql/ディレクトリ内に格納されています。これを新しい場所に移動します。

新しいデータディレクトリを作成する場所を選びます。例えば、/mnt/data/postgresqlに移動する場合は、次のコマンドを実行します。

bash
sudo mkdir -p /mnt/data/postgresql

ディレクトリの権限を適切に設定します。PostgreSQLはpostgresユーザーで動作しているため、ディレクトリの所有者をpostgresに変更します。

bash
sudo chown postgres:postgres /mnt/data/postgresql

3. 既存のデータを新しいディレクトリにコピー

次に、既存のデータを新しいディレクトリにコピーします。まず、現在のデータディレクトリの場所(通常は/var/lib/postgresql/)から、新しいディレクトリにデータをコピーします。

bash
sudo rsync -av /var/lib/postgresql/ /mnt/data/postgresql/

rsync

Back to top button