https://blog.heroku.com/archives/2014/8/12/the_new_database_experience_with_heroku_postgres
なんか新しくなってパフォーマンスも良くなったらしいので、bugs.ruby-lang.org で使っている postgres を移行してみた。
相変わらずアドオンを追加するときの具体的な名称(standard-yanariみたいなやつ)を得る手段がないので、ブログエントリにある
$ heroku addons:add heroku-postgresql:standard-4
というコマンドから類推して 4 の部分を 0 にして実行。heroku addons:list
しても肝心のプラン名は省略されているし、ホント不便だと思うんだけど誰も困ってないのかな。
heroku transfer で直接 db にデータの引っ越しができるようになったらしい。便利っぽい。以下の手順であっさり移行は終わり。
$ heroku addons:add heroku-postgresql:standard-0
$ heroku maintenance:on
$ heroku pgbackups:capture --expire # 今のデータベースをバックアップ
$ heroku pgbackups:transfer HEROKU_POSTGRESQL_FOO_URL # standard-0 のエンドポイントURLを指定する
$ heroku pg:promote HEROKU_POSTGRESQL_FOO
$ heroku restart
$ heroku maintenance:off
$ heroku addons:remove heroku-postgresql:standard-yanari
引っ越したばかりなので、postgresql のバージョンが 9.3.2 から 9.3.4 になった以外はよくわからない。
bugs に引き続き rubyci も移行した。手順は同じ。
こっちは 15GB くらいの raw データでバックアップ、transfer ともに 80min くらいかかった。簡単とはいえ、これくらいのサイズだと結構時間かかる。データの整合性とかかなり適当なので、メンテをいれないでえいやっとやってしまったけど、ちゃんとやろうとすると夜間メンテコースというのは、手でやるのとあまりかわらないね。
ここの左側でプランを選ぶと
https://addons.heroku.com/heroku-postgresql#standard-4
ページ下にherokuコマンドから追加する時の引数が表示されます
なるほど、アドオンページに行ってプランを選択すると、わかるんですね。ありがとうございます。