アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

('ω') < イザユケエンジニャー

postgresqlでバックアップ・リストア

なんかもう全然上手くいかんかったけど、pgadmin使ったらなんとかなった手順をとりあえずメモ。
※自分用のすごい雑な無責任メモだよ!!!!

バックアップしたかったというかDBコピーしたかっただけなのに。そこんとこはMySQLGUIphpMyAdmin)が神だな…。

バックアップ(スキーマ+データ)

  • 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 ...」を削除してから、残りを全部実行する

バックアップ~リストア(スキーマのみ)

基本的にはスキーマ+データの時と同じ、
バックアップ時のDump options タブでは「Type of object->Only schema」をYesに切り替えるだけでよさそう