LoginSignup
0
1

More than 1 year has passed since last update.

AWSのEC2でバージョンが合わなくてpg_dumpできなかったのときの対処法

Last updated at Posted at 2021-04-19

EC2でpg_dumpしたとき

[ec2 ~]$ pg_dump -U postgres -h `host` -p 5432 `database` -f aws.dump
パスワード:
pg_dump: サーババージョン: 12.5、pg_dump バージョン: 9.6.19
pg_dump: サーババージョンの不整合のため処理を中断しています

このようなエラーが起きたときは、サーバーバージョンのほうのpg_dumpをダウンロードする必要がある。

下記でリンクアドレスをコピー
https://www.postgresql.org/ftp/source/v12.5/

$cd /usr/local/src
$wget https://ftp.postgresql.org/pub/source/v12.5/postgresql-12.5.tar.gz
  • 解凍
  • ディレクトリ作成
  • makeの実行。
$tar xzf postgresql-12.5.tar.gz
$cd postgresql-12.5.tar.gz

$mkdir /usr/local/postgresql-12.5/

$./configure --prefix=/usr/local/postgresql-12.5/ --with-pgport=5432
$make
$make install

途中でこんな感じのエラーがでたら

configure: error: no acceptable C compiler found in $PATH
$yum install gcc

するとinstallできるようになります。
エラーが出てもググれば解決できるのでググりましょう。

ダウンロードできたら

下記を実行し、ダウンロードしたpg_dumpのパスを確認。

$ find / -name pg_dump -type f 2>/dev/null
/usr/bin/pg_dump
/usr/local/src/postgresql-12.5/src/bin/pg_dump/pg_dump

確認したパスをつけてpg_dumpしてみる!

[myuser@ip-address ~]$ /usr/local/src/postgresql-12.5/src/bin/pg_dump/pg_dump -U postgres -h `host` -p 5432 `database` -f aws.dump

これでダウンロードできました...!!

dumpをローカルに持ってくる

ローカルで下記コマンドを実行

scp -i (.pem) myuser@ip-address:(ec2上の持ってきたいdumpがある場所) (dumpを持ってきたいローカルのパス)

scp -i ~/.ssh/tumiki.pem myuser@ip-address:/home/myuser/aws0801.dump ./
0
1
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
1