[pgsql-jp: 41909] Re: 重複キーのデータが生成される

水口(ヴァンガードネットワークス) mizuguchi @ vanguard.ne.jp
2016年 10月 31日 (月) 16:13:49 JST


水口です

重複キーが作成される件ですが
一応BUGFIXが出ているかと思い
WinX86 Postgresql9.4.10にアップデートして行ってみました
REINDEX等行っても発生してしまいました。

エラーログを確認すると
重複データが作成されるタイミングでは必ず下記のログが出力されておりました
エラーがでるテーブルは必ずtest_tblです
同じPGをPOSTGRESQ9.1を動作させた場合には、エラーがでないので
9.4のBUG?かなと思っているのですが、ほとほと困ってしまいました。
何か対策などありましたら、教えてください。

>2016-10-31 14:31:37 JST ERROR:  could not truncate file "base/60653/84272"
to 1 blocks: Permission denied
>2016-10-31 14:31:37 JST CONTEXT:  automatic vacuum of table
"testDb.public. test_tbl "
>2016-10-31 15:27:37 JST ERROR:  duplicate key value violates unique
constraint "pk_ test_tbl "


>-----Original Message-----
>From: pgsql-jp-bounces @ ml.postgresql.jp
>[mailto:pgsql-jp-bounces @ ml.postgresql.jp] On Behalf Of 水口(ヴァンガ
>ードネットワークス)
>Sent: Wednesday, October 26, 2016 11:13 AM
>To: 'PostgreSQL Japanese Mailing List' <pgsql-jp @ ml.postgresql.jp>
>Subject: [pgsql-jp: 41908] Re: 重複キーのデータが生成される
>
>水口です
>
>
>REINDEXで行った上で、様子を見てみたいと思います
>
>情報ありがとうございます。
>
>>-----Original Message-----
>>From: pgsql-jp-bounces @ ml.postgresql.jp
>>[mailto:pgsql-jp-bounces @ ml.postgresql.jp] On Behalf Of MauMau
>>Sent: Monday, October 24, 2016 8:35 PM
>>To: 'PostgreSQL Japanese Mailing List' <pgsql-jp @ ml.postgresql.jp>
>>Subject: [pgsql-jp: 41906] Re: 重複キーのデータが生成される
>>
>>水口さん
>>
>>
>>MauMauといいます。
>>
>>今の状態で、psqlなどでそのテーブルに同じプライマリキーの行を挿入
>>>よう
>>としたら、正しくエラーになりますか?
>>なるとしたら、次のことが考えられます。
>>これはどのバージョンでも発生しえます。使い方の問題です。
>>実際に利用者の環境で発生しましたし、私も再現できました。
>>
>>1.postmasterプロセスだけを停止する。他のpostgresは動作したまま。
>>2.$PGDATA/postmaster.pidを削除する。
>>3.PostgreSQLを起動する。
>>4.テーブルに行を挿入する。
>>
>>こうすると、1で残った古いインスタンスのpostgresが、4で起動した
>>>ンス
>>タンスと並行動作してしまいます。
>>そして、互いが互いに築かずに、それぞれの共有バッファ上のデータを
>>>ィス
>>クに書き出します。
>>すると、各インスタンスの共有バッファに同じプライマリキーの行があ
>>>と、
>>それらが同じテーブルのデータファイルに書き出され、重複キーができ
>>>がり
>>ます。
>>
>>
>>以上です。
>




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