PostgreSQL dataフォルダパス変更の方法(Windows版)

はじめに

PostgreSQLのデータフォルダ(dataフォルダ)のパスを変更したい状況が発生することがあります。特に、ストレージの拡張やディレクトリ構成の変更が必要な場合、dataディレクトリの移動が必要となることがあります。今回は、Windows上でPostgreSQLのdataフォルダを新しい場所に移動し、正常に動作させる方法をステップごとに紹介します。

手順

1. PostgreSQLの停止

まず、データベースサーバーを停止します。PostgreSQLが稼働したままではデータディレクトリの変更ができないため、必ず停止させます。

Windowsサービスマネージャーを使用してpostgresql-x64-16サービスを停止するか、コマンドプロンプト(管理者として実行)で以下のコマンドを実行します。

net stop postgresql-x64-16

2. PostgreSQLのWindowsサービスを削除

次に、現在のPostgreSQLサービスを削除します。これにより、旧データフォルダへの参照が削除されます。

pg_ctl unregister -N postgresql-x64-16

このコマンドで、指定したサービス名を削除します。

3. dataディレクトリを新しい場所に移動

次に、現在のdataディレクトリを新しいディレクトリに移動します。移動が完了するまでは元のデータディレクトリを残しておき、バックアップとして使用することを推奨します。

:C:\Program Files\PostgreSQL\16\dataをD:\PostgreSQL\dataに移動する場合

xcopy "C:\Program Files\PostgreSQL\16\data" "D:\PostgreSQL\data" /E /H /C /I

4. 新しいdataディレクトリでPostgreSQLサービスを再登録

データの移動が完了したら、新しい場所のdataフォルダを使用してPostgreSQLサービスを再登録します。

pg_ctl register -N postgresql-x64-16 -D "D:\PostgreSQL\data"

このコマンドで、新しいディレクトリを指定し、サービス名を「postgresql-x64-16」として再登録します。

5. サービスを開始

次に、net startコマンドを使ってPostgreSQLサービスを開始します。

net start postgresql-x64-16

サービスが正しく開始されたかどうかを確認します。

6. psqlで接続して確認

PostgreSQLが正常に稼働しているかを確認するため、psqlコマンドを使用してデータベースに接続します。

psql -U postgres

このコマンドで、postgresユーザーとしてPostgreSQLに接続します。

7. データディレクトリの確認

最後に、PostgreSQLが新しいdataディレクトリを使用していることを確認します。以下のSQLコマンドを実行し、data_directoryの値を確認します。

SHOW data_directory;

このコマンドで表示されたパスが、新しいディレクトリの場所になっているかを確認します。

8. 古いdataディレクトリの削除

PostgreSQLが正常に新しいdataディレクトリを使用していることを確認したら、必要に応じて古いディレクトリを削除します。

まとめ

PostgreSQLのdataフォルダパスを変更する際には、PostgreSQLの停止、サービスの再登録、dataフォルダの移動など、慎重なステップを踏む必要があります。今回の手順を使用して、Windows環境でのdataフォルダパス変更を安全に行ってください。

コメント

タイトルとURLをコピーしました