|
分類:[データベース全般]
2009/10/30(Fri) 08:50:06 編集(投稿者)
DB:PostgreSQL8.3 OS:WindowsXP同士(テスト) WindowsServer2008(本番)
はじめまして。
現在Windows環境でPostgreSQL8.3を使用してwarm standbyを実装したいと思っています。 参考文献として「PostgreSQL徹底入門第2版」を使用していますが、Windows環境ではないことと、実装が1台のマシンで2つのデータベースインスタンスを作成しているため、良く分かりません。 2台のマシンでの実装を予定しています。
テストでは主系のログを吐き出すところまでは出来ました。
テキストには主系の完全バックアップを作るとありますが、作り方がわかりません。 待機系に主系のdataディレクトリをあらかじめコピーしておき、PostgresSQLをインストールするときに「データベースクラスタの初期化」のチェックボックスをはずしたのですが、インストールには成功しましたが、サービスが開始できません。 そこで、主系のpostgres以外のデータベース(現在3つあります)のバックアップを作成し、待機系にリストアしました。 環境の作り方がこれでいいのか、他に完全バックアップの方法があるのか、改善策があったら教えてください。
また、recovery.confに下記のように記してサービスを再起動すると、「pg_stanby: archiveLocation "\\IPアドレス\共有フォルダ\archivedir" does not exist」とメッセージが表示されました(storeは半角では投稿できなかったため、全角としています)。 restore_command = 'pg_stanby-l -t \\IPアドレス\共有フォルダ\trigger \\IPアドレス\共有フォルダ\archivedir %f %p %r 2>>stanby.log'
ネットワークの状態がおかしいのかと思い、下記のように書き換えローカルでテストしようとしたら、うまくいきました。 restore_command = 'pg_stanby-l -t C:\trigger C:\archivedir %f %p %r 2>>stanby.log'
しかし、triggerファイルを置くと、「could not remove "C:\trigger":Permission denied」とエラーが表示され、サービスが開始されません。 postgresSQLのユーザと同じユーザでログインすると削除は行われましたが、サービスが開始されません。 また、リストアにも失敗します。完全バックアップが必要なのでしょうか?
解決策を知っている方、よろしくお願いします。 また、全体的に手順を詳しく知っている方がいらっしゃいましたら、詳細な手順も教えていただけると助かります。
よろしくお願いします。
|