1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon RDS for PostgreSQLのDBを移行

Last updated at Posted at 2025-04-16

目次

1.はじめに
2.前提
3.手順
4.参考
5.終わりに

はじめに

諸事情でRDS for PostgreSQLからRDS for PostgreSQLにDB移行したかったのですが、思った以上に手間取ったので備忘録として残します。
ちなみに楽をしようとした結果、仕様に迷って時間がかかりました。

前提

移行前のDB

Amazon RDS for PostgreSQL
エンジンバージョン:15.7

移行後のDB

Amazon RDS for PostgreSQL
エンジンバージョン:15.10

移行のためのインターフェイス

EC2(Windows)からコマンドプロンプトで実行。
pg_dumpとpg_restoreのコマンドを利用するため、PostgreSQLのクライアントツールがインストールされていることが必須になります。
実行したEC2(Windows)のローカルにはPostgreSQL16がインストールされているため、PostgreSQLのクライアントツールがインストール済みでした。

手順

手順1 環境変数を変更する

コマンドプロンプトでpg_dumpとpg_restoreのコマンドを実行できるよう、まずは環境変数を設定します。
image.png

image.png

image.png

image.png

image.png

システム環境変数のPathにPostgreSQLのbinを登録します。
PostgreSQLのバージョンが16でデフォルトだと下記のとなります。

C:\Program Files\PostgreSQL\16\bin\

image.png

コマンドプロンプトから下記を実行します。
localhostにインストールしたPostgreSQLのバージョンが確認できたら設定完了です。

psql --version

image.png

手順2 移行前のDBを出力

下記を実行します。

pg_dump -h YOUR_HOST -U YOUR_USER -c -Fc -d YOUR_DBNAME > backup.dump

image.png

C:\Users\Administrator配下にdumpファイルが作成されました。
image.png

手順3 移行先のDBを作成

pg_restoreには指定した名前のDBを新規作成する機能がない為、事前にDBを作成する必要があります。
今回はpgAdminより作成しました。
image.png
image.png

手順4 移行先のDBにリストア

下記を実行します。
ここでのユーザーはpostgresを指定し、パスワードもpostgresのパスワードを入力してください。

pg_restore --clean -h YOUR_HOST -p YOUR_PORT -U postgres -d NEW_DATABASE_NAME backup.dump

手順5 移行先のDBに参照権限付与

pgadminにpostgresユーザーから接続します。
リストアしたDBを右クリックし、権限付与ウィザードを開きます。
image.png

対象のオブジェクトを選択します。
image.png

右上の+をクリックし受領者をPUBLIC、権限にAllを選択します。
image.png

進んで完了します。

手順5 移行先のDB確認

移行先のDBにpostgresユーザー以外から接続します。
postgresユーザー以外からテーブル内が見れることを確認します。
image.png

参考

下記のQiita記事がPostgreSQLのバックアップとリストアの情報についてかなり詳細にまとまっており、参考にさせていただきました。

おわりに

コマンドプロンプトでpg_dumpとpg_restoreが使えればすぐに移行できます。
参考になれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?