2010年7月 7日

[pgsql-jp: 40323] Re:サービス起動時に「startup process recovering」というプロセスで待たされる

みなさま

那須野です。
いろいろと、アドバイスありがとうございます。

-w オプションと、pg_start_backup() と、一通りトライしてみます。

smart/fastの違いについては、私も勘違いしていました...。

Takahiro Itagaki さんは書きました:
> 板垣です。
>
> 2010年7月7日9:38 Norio Suzuki <suzuki@xxxxx>:
>>> pg_ctl stop -D '$PGDATA' -s -m fast -w
>> あまり自信は無いのですが、fast で停止するとクライアント接続の強制切断を
>> 行うので、その辺りが問題でリカバリモードに入ってしまうのかも知れないなぁ
>> などと思いました。
>>
>> 私がこの状況になったとしたら、fast モードを避け、デフォルトの smart モー
>> ドでの停止処理をする方法を試してみます。
>
> いちおう仕様上は、smart でも fast でも全く同じように正常停止できるはずです。
> (強制停止するのは immediate モードですね)
> smart の場合、先にセッションを全て切断しておかないといけないので、
> fast の代わりには使えないかもしれません。
>
> 時間がかかっても良いから起動を待ちたいということであれば、-w オプションに加えて
> -t <秒数> オプションも使うことをお奨めします。-w だけだと60秒しか待たないので、
> しまうので、停止や起動に時間がかかると、けっこうタイムアウトすることがあります。
> 今回は 3) で -t <長い時間> とすれば、時間はかかるかもしれませんが、エラーは
> 避けられると思われます。
>
> リカバリが走ってしまう = 正常停止できていない のはまた別の問題ですが…
> もしかすると 1) もタイムアウトしており、正常停止の前に rsync を始めて
> しまっていることの影響かもしれません。停止前に CHECKPOINT を打ち、
> かつこちらも fast -w -t <たくさん> するとどうでしょう?


/那須野


投稿者 xml-rpc : 2010年7月 7日 13:32
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/96909
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。