pg_dump は custom format がよいのか?
pg_dump dbname > file
で plain text に吐いておいた dump ファイルを、バージョンアップした DB で
psql dbname < file
しても、どうしても一部 restore できないものが残った1。これを
pg_dump -Fc dbname > file
で custom format で dump し、
pg_restore -Fc -d dbname file
で restore したらうまくいった。単に pg_restore が psql よりうまく restore してくれるのかもと思ったけど、pg_restore は plain text の dump ファイルを食べてくれないので検証のしようがない。
ちなみに、中でエンコーディングの狂っているデータがあるのかと思ってみたら iconv は確かに不正なシーケンスを見つけてくれたが、それを除去しても結果は同じだった。
さらにちなみに、作成した database に psql で接続して psql 上で
\lo_import filename
……はしなかった。やってみろて? だってこれ使いにくいもんなぁ…。schema だけ restore してやればいいじゃんて? えー。
ほとんどはうまくいった。当たり前だけど permission とかの理由じゃないよ。 ↩
More
Recent Posts
- » ものぐささんのためのTypeScriptを使いつつGASでも使えるライブラリ開発環境
- » quickjs.rbでRubyの環境からJavaScriptのロジック(I/Oのないコード)の動作結果を得る
- » kintoneからエクスポートしたCSVデータの変換ライブラリを作ってみた
- » MCPメモ
- » Mermaidの大きすぎる余白を調整する方法の一例
- » LLMアプリをLLMを使いながら作ってみた
- » Gemini Advancedでもうゲームが変わっていた
- » 今さらLLMのモデルの違いとプロンプトエンジニアリングについて
- » Bundler環境でIRBでもLSPでもドキュメントを利用する方法
- » Ruby 3.2と3.3のirb historyの扱いの違いと対処方法