そるてぃっしも

技術的な?自転車的な?しょっぱい何か

PostgreSQLのデータベースを丸ごと別の場所に移動する

いつも忘れてしまうのでメモメモ。

DBをアウトプットする

pg_dumpを使用してファイルに出力。

個人的には平文形式であまり困ったことはないのでオプションはユーザーと出力ファイルくらい。

設定によってはホストを指定しないとうまくいかないこともあったり。

pg_dump 【DB名】 -h 【ホスト】 -U 【ユーザー名】 -f 【出力ファイル】

 

DBをインプットする

取り込む前にpsqlコマンドでログインしてからCREATE DATABASEでDBを作成します。

create database 【DB名】 owner 【ユーザー名】 encoding 【文字セット】;

 

平文の形式で出力した場合はpsqlでインプットします。

実行前に「\q」でpsqlの対話形式をぬけておきます。

(平文以外で出力した場合はpg_restoreコマンドを使用します。)

psql 【DB名】 -U 【ユーザー名】 < 【入力ファイル】