PostgreSQL レストア(インポート)[ psql ]

LinuxのPostgreSQLにあるDBをバックアップしたデータを、ローカル環境のWindowsで動いているPostgreSQLにレストア(インポート)する機会がありましたので、その時の備忘録です

Linuxサーバーでは、pg_dump でDBをバックアップしています。ローカルPCにはWinSCP等でダウンロードしています

# su - postgres 
$ /usr/bin/pg_dump testdb > /var/tmp/testdb.db"

Windows側でコマンドプロンプトを使用して下記のコマンドで、DBを作成してからレストアしていきます。

ローカルのPostgreSQL は、Linuxのバージョンと合わしているので少し古めのバージョンとなっています。
psql がある「bin」フォルダのパスは使用する環境にあわせて変更して下さい。

また、PostgreSQL の bin フォルダに環境変数を追加していない場合は、bin フォルダがある位置まで、cdコマンドで移動します

# psql がある場所に移動する
> cd C:\Program Files\PostgreSQL\9.6\bin

DBを作成するので、psql に入ります。DB作成は「SQL Shell(psql)」の方を使用しても大丈夫です

# psal に接続
psql -U postgres

# databaseを作成します
postgres=# create database testdb;

psql を終了して、DBをレストア(インポート)します。

書式:psql -U postgres -f [エクスポートしたdumpファイルのパス] [DB名]

> psql -U postgres -f C:\db\testdb.db testdb

 

 

 

スポンサーリンク

0
0