忍者ブログ
Admin / Write / Res
ちゃんとカテゴリ分けされておりませんので、 記事をお探しならブログ内検索が便利です。 ご活用くださいませー+.(≧∀≦)゚+.゚
ブログ内検索
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
カウンター
アクセスカウンター
最新コメント
[04/05 Fully Vaccinated Adorable Escort Service in bengaluru 8273600238]
[03/26 Tonaldcet]
[01/16 jilibet]
[10/20 Call Girl in Delhi]
[09/07 לפרטים נוספים]
最新トラックバック
プロフィール
+ハンドル+
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
バーコード
[560]  [559]  [558]  [557]  [556]  [555]  [554]  [553]  [552]  [551]  [550
備忘録?
postgresql のpg_dump(データベースのバックアップ)を実施しようと思ったらこんなエラーが発生しました。


$ pg_dump -t table_name database_name
pg_dump: server version: !; pg_dump version: 7.3.10-RH
pg_dump: aborting because of version mismatch (Use the -i option to proceed anyway.)
$

ちょいちょいよくわからないのでググッてみたところ、異なるバージョンのpostgresqlが複数インストールされているのが原因みたい。
バージョンの違いを無視するオプション(-i)をつけてみると…?

$ pg_dump -i -t table_name database_name
pg_dump: server version: !; pg_dump version: 7.3.10-RH
pg_dump: proceeding despite version mismatch
pg_dump: SQL command failed
pg_dump: Error message from server: ERROR: column "datpath" does not exist
pg_dump: The command was: select (select usename from pg_user where usesysid = datdba) as dba, encoding, datpath from pg_database where datname = 'database_name'

想定通りに動いてくれません(p>□<q*))
上位バージョンのpg_dumpで下位バージョンのダンプを実施するには問題なさそうだけど、さすがにその逆は厳しいみたい。
# 逆かどうかは詳細に調べてないけどね ^^;

なのでfindで検索してみよー

$ find /usr/ -type f -name 'pg_dump'
find: /usr/share/ssl/CA:
/usr/bin/pg_dump
/usr/local/src/postgresql-8.1.1/doc/TODO.detail/pg_dump
/usr/local/src/postgresql-8.1.3/doc/TODO.detail/pg_dump
/usr/local/src/postgresql-8.1.3/src/bin/pg_dump/pg_dump
/usr/local/pgsql/bin/pg_dump
find: /usr/local/pgsql/data:


おおー、出たわね(笑)
pathで通っている「pg_dump」は「version 7.3.10」だと叱られてしまいます。
下位互換ならありそうだということで、それ以上を探すのだからバージョン[8.x]系は怪しい。
けど、「doc」の中と「src」中ってことは…おそらく無い、というよりこの時点ではとりあえず除外。
そしてpathが通っているコマンドとは?

$ which pg_dump
/usr/bin/pg_dump

ふ~ん(笑)
念のため確認しましょ。

$  pg_dump --version
pg_dump (PostgreSQL) 7.3.10-RH
$ /usr/bin/pg_dump --version
pg_dump (PostgreSQL) 7.3.10-RH

と、いうことで一緒だと仮定しましょ。

それなら残る「pg_dump」は?
「/usr/local/pgsql/bin/pg_dump」
しかないと。
$ /usr/local/pgsql/bin/pg_dump --version
pg_dump (PostgreSQL) 8.1.3

うん、間違い無くこれっしょ ^^

実行してみると?
正常に動きましたー
やったねぇ

まぁ、コアなシステムではこんなこともあるから気を付けないとね
でわでわ


拍手

PR
この記事にコメントする
Name
Title
Color
Mail
URL
Comment
Password   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret (管理人にのみ表示)
Copyright ©  アナログを愛するデジタル生活館 All Rights Reserved.
* material by Pearl Box   * Template by tsukika

忍者ブログ [PR]