[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 メーリングリストの案内