pgdiff(Rubyスクリプト)による PostgreSQL データベースの比較

pgdiff を使うと、オンラインの PostgreSQL を比較して、データベース定義を揃えるための SQL を生成できます。

特徴とメリット・デメリット

総合すると、何も使えないときは頼りたくなる、くらいの評価……

  • 依存する gem は pg だけで、それ以外は pure Ruby
    • 👎Windowsで実行できるようにするのが難しい(WSLならいける)
  • 稼働中のデータベースプロセスを停止せずに比較できる
    • 👍 リードレプリカのない環境だと嬉しい
  • SQLを生成する
    • 👎 冪等性、排他制御、効率は考慮されてない

使い方

$ apt-get install -q -y libpq5 libpq-dev
$ gem install pgdiff
$ command pgdiff
/home/yujiorama/.rbenv/shims/pgdiff
$ pgdiff "postgresql://user:pass@host1:port1/database1" "postgresql://user:pass@host2:port2/database"