postgresqlでバックアップ・リストア
なんかもう全然上手くいかんかったけど、pgadmin使ったらなんとかなった手順をとりあえずメモ。
※自分用のすごい雑な無責任メモだよ!!!!
バックアップしたかったというかDBコピーしたかっただけなのに。そこんとこはMySQLのGUI(phpMyAdmin)が神だな…。
バックアップ(スキーマ+データ)
- pgadminにて、目当てのDBを右クリック>Backup
- Generalタブ ↓以外はデフォルトのまま
- Filenameにバックアップファイルのフルパス入力
- FormatはPlain
- EncodingはUTF8
- Dump options タブ ↓以外はデフォルトのまま
- Sections->Pre-data Yes
- Sections->Data Yes
- Post-Data Yes
- Queries->Use Insert Commands Yes
- Queries->Include CREATE DATABASE statement
- Backup を押すと指定したパスにファイルが出来上がる
リストア(スキーマ+データ)
- バックアップで出来上がったクエリを確認する
- ownerやDB名などを変える必要がある時は変更する
- pgadminのクエリツールを開き、クエリのうち「CREATE DATABASE」のくだりをコピペして実行(もしくはデータベースは手動で作成)
- 出来上がったDBからクエリツールを開き直し、クエリを全部コピペする
- さっき実行した「CREATE DATABASE ...」と、その少し下にある「\connect ...」を削除してから、残りを全部実行する