LoginSignup
0
0

More than 3 years have passed since last update.

capistrano-db-tasksのdb:pullでpg_dump「サーババージョンの不整合のため処理を中断しています」を解決

Posted at

この記事の意図

WebサーバーとDBサーバーが別の環境で capistrano-db-taskspg:pull を実行したときに pg_dump の バージョンがそれぞれ違うということでエラーになり、解決したので共有します。

環境

EC2(amazon linux)からRDS(PostgreSQL)接続のRailsアプリケーションです。
サーババージョン(RDS): 12.5、pg_dump バージョン(EC2): 9.2.24

解決方法

EC2のpg_dumpのバージョンを12にすればOKなはずです。

amazon linuxにはこの時点でpostgresqlの12は用意されていないようなので下記を参考に12をインストールしました。
今回pg_dumpさえ動けばいいのでサーバーは立てる必要はないと思います。

このままですとpg_dumpがバージョン9を見てしまうのでcapistranoでログインしているユーザーの.bashrcにパスを追加します。

export PATH=/usr/pgsql-12/bin/:$PATH 

.bashrcを読み直します。

$ source .bashrc

これでローカルからpg:pullを実行して動きました。

注意

.bash_profileでは動きませんでした。理由は.bashrcがSHELL_VARIABLE、.bash_profileはENVIRONMENT_VARIABLE、という違いがあるからのようです。capistranoでアクセスする時はsshなのでSHELL_VARIABLEしか見てくれないという理解をしています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0