[pgsql-jp: 41231] Re: PostgreSQL 9.1.2 でレプリケーション競合エラーについて

Tsuyoshi Masuda tmasuda @ mitcc.biz
2012年 10月 2日 (火) 17:49:51 JST


笠原様
いつも大変お世話になっております。

ご丁寧にご返信有難う御座いました。

別途、こちらの件で何かお分かりになりましたら、
ご教示いただければ、助かります。

以上、宜しくお願い致します。

2012年 10月 2日(火)2:29 pm に kasaharatt @ nttdata.co.jp さんは書きました:
> 笠原です。
>
>> > ERROR:  クライアント接続に想定外のEOFがありました
>> > 詳細:  符号化方式"UTF8"で無効なバイトシーケンスです: 0x8e
>> UTF8にマッピング不可能な文字コードを扱おうとしているように見えます。
>> SJISあたりのデータを、client_encoding=UTF8の状況下で挿入したりしていませんか?
>>
>> 扱うデータのエンコーディングに合わせてclient_encodingを指定してみて下さい。
> すいません、これは違いそうです。
> 忘れてくださいませ・・
>
>
>> -----Original Message-----
>> From: pgsql-jp-bounces @ ml.postgresql.jp
>> [mailto:pgsql-jp-bounces @ ml.postgresql.jp] On Behalf Of
>> kasaharatt @ nttdata.co.jp
>> Sent: Tuesday, October 02, 2012 1:55 PM
>> To: tmasuda @ mitcc.biz; pgsql-jp @ ml.postgresql.jp
>> Subject: [pgsql-jp: 41227] Re: PostgreSQL 9.1.2 でレプリケーション競合
>> エラーについて
>>
>> 笠原と申します。
>>
>> > 【エラーメッセージ】
>> > ERROR:  リカバリーで競合が発生したためステートメントをキャンセルして
>> います
>> > 詳細:  削除されるべきバージョンの行をユーザクエリが参照しなければな
>> らなかった可能性がありました。
>> こちらは、マスタ側にてVACUUMやHOTでクリーンナップされた古い行を、スタ
>> ンバイで参照していた
>> 影響で出ていると思います。
>> # 通常のクエリの結果以外にも、メンテナンスの結果もレプリケーションでス
>> タンバイに流されます。
>> 競合については下記のページを参照してください。
>> http://www.postgresql.jp/document/9.1/html/hot-standby.html
>>
>> 以下のパラメータ値を引き上げてみて下さい。値は調整が必要なため、まずは
>> 100程度から開始して、様子見しつつ増減すると良いかもしれません。
>> vacuum_defer_cleanup_age
>>
>> これは、マスタ側にて通常クリーンナップされる不要領域を、意図的に残存さ
>> せておく
>> 際に制御します。これにより、マスタでは通常より不要領域が残りやすくなり
>> ますが
>> クリーンナップ処理とスタンバイの参照が競合する確率は減らせます。
>>
>> 詳しくは下記のページを参照してください。
>> http://www.postgresql.jp/document/9.1/html/runtime-config-replication.
>> html#RUNTIME-CONFIG-REPLICATION-MASTER
>>
>> > ERROR:  クライアント接続に想定外のEOFがありました
>> > 詳細:  符号化方式"UTF8"で無効なバイトシーケンスです: 0x8e
>> UTF8にマッピング不可能な文字コードを扱おうとしているように見えます。
>> SJISあたりのデータを、client_encoding=UTF8の状況下で挿入したりしていま
>> せんか?
>>
>> 扱うデータのエンコーディングに合わせてclient_encodingを指定してみて下
>> さい。
>>
>> > -----Original Message-----
>> > From: pgsql-jp-bounces @ ml.postgresql.jp
>> > [mailto:pgsql-jp-bounces @ ml.postgresql.jp] On Behalf Of Tsuyoshi
>> Masuda
>> > Sent: Tuesday, October 02, 2012 11:02 AM
>> > To: pgsql-jp @ ml.postgresql.jp
>> > Subject: [pgsql-jp: 41226] PostgreSQL 9.1.2 でレプリケーション競合エ
>>>> > ーについて
>> >
>> > いつも大変お世話になっております。MITCC増田と申します。
>> >
>> > PostgreSQL 9.1.2(centos版) のレプリケーション環境にて次のような
>> > エラーメッセージが頻繁にログに出力され、データ取得できない問題があり
>>>> > す。
>> > どなたか回避方法をご存じの方がいらっしゃいましたら、
>> > ご教示頂けませんでしょうか?
>> >
>> > ちなみに、pg_basebackupで最新化した直後は、
>> > しばらくこのエラーは発生しません。
>> >
>> > 【エラーメッセージ】
>> > ERROR:  リカバリーで競合が発生したためステートメントをキャンセルして
>>>> > ます
>> > 詳細:  削除されるべきバージョンの行をユーザクエリが参照しなければな
>>>> > なかっ
>> > た可能性がありました。
>> >
>> > ERROR:  クライアント接続に想定外のEOFがありました
>> > 詳細:  符号化方式"UTF8"で無効なバイトシーケンスです: 0x8e
>> >
>> > 【環境】
>> > [マスタ]->[スレーブ]
>> >
>> > 【マスタ側設定】
>> > postgresql.conf
>> > #-----------------------------
>> > # REPLICATION OPTIONS MASTER
>> > #-----------------------------
>> > wal_level = hot_standby
>> > archive_mode = off
>> > wal_keep_segments = 32
>> > max_wal_senders = 4
>> > application_name = 'pg_master_db'
>> >
>> > 【スレーブ側設定】
>> > postgresql.conf
>> > #----------------------------
>> > # REPLICATION OPTIONS SLAVE
>> > #----------------------------
>> > wal_level = hot_standby
>> > archive_mode = off
>> > wal_keep_segments = 32
>> > max_wal_senders = 4
>> > application_name = 'pg_slave_db'
>> > hot_standby = on
>> >
>> > recovery.conf
>> >
>> > #----------------------------
>> > # REPLICATION OPTIONS
>> > #----------------------------
>> > standby_mode = 'on'
>> > primary_conninfo = 'host=pg_master_db port=5432
>> > application_name=pg_slave_db'
>> >
>> > 以上、宜しくお願い致します。
>> >
>> >
>
>


-- 
-------------------------------------------
 増田 剛   Tsuyoshi Masuda
web site : http://mitcc.biz/
E-mail   : tmasuda @ mitcc.biz
-------------------------------------------



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