[pgsql-jp: 36904] Re: 32bit と64bitマシンでのレプリケーションについて

Katsuhiko Okano k_okano @ po.ntts.co.jp
2006年 3月 22日 (水) 10:41:47 JST


岡野と申します。

> 質問1)
>  64bitマシンにPostgresをインストールする際
> 
>  ./configure
>  gmake
>  gmake install
> 
> としただけなのですがこれで64bit版になったのでしょうか。
> 確認する手段はありますでしょうか。
> 
fileコマンドで、インストールした実行ファイルを確認してみてはどうでしょう。
> $ file /my/pghome/bin/postgres
> /my/pghome/bin/postgres: ELF 64-bit LSB executable, AMD x86-64, version 1 
(SYSV), for GNU/Linux 2.4.0, 
> dynamically linked (uses shared libs), not stripped


> 質問2)(64bitマシンには64bit版のPostgresがインストールされているとして)
>  32bitマシンをマスターとしてレプリケーションさせたいため、
>  64bitマシンへ/usr/local/pgsql/data/ 以下をrsyncで同期を
>  とりましたが、64bitマシンのpg_controlファイルも32bitマシンの
>  ものになってため、起動時「FATAL:  incorrect checksum in control file」
>  というエラーが出て起動できませんでした。
制御ファイル内にあるtime_t型のサイズが32bitマシンと64bitマシンで異なるため、
32bitマシンと64bitマシン間では、単なるコピーでは使用できません。
また、制御ファイルが壊れていないことを確認するために使っている
チェックサム関数も32bitと64bitでは異なるようです。
#ソースファイルでは、src/include/catalog/pg_control.h や src/include/utils/pg_
crc.h が参考になります。


水野さんの投稿にもあるように、レプリケーションツールを使うのが無難
だと思います。


時間がたってしまったのでもう解決済みかもしれませんが、ご参考まで。
----------------------------------------
Katsuhiko Okano
k_okano at po.ntts.co.jp
NTT Sofrware Corp. (division "NBRO-PT4")



pgsql-jp メーリングリストの案内