web-dev-qa-db-ja.com

PostgreSQLエラー:コミットされたxmaxをフリーズできません

まず、PostgreSQLデータベースは初めてです。

PostgreSQLのログに以下のエラーが表示され、何が問題なのか、何を変更する必要があるのか​​わかりません。

2018-03-29 10:54:38 CEST::@:[5059]: CONTEXT:  automatic vacuum of table "jiradb.public.propertyentry"
2018-03-29 10:55:38 CEST::@:[5144]: ERROR:  cannot freeze committed xmax 710196
2018-03-29 10:55:38 CEST::@:[5144]: CONTEXT:  automatic vacuum of table "jiradb.public.propertyentry"
2018-03-29 10:56:38 CEST::@:[5182]: ERROR:  cannot freeze committed xmax 710196
2018-03-29 10:56:38 CEST::@:[5182]: CONTEXT:  automatic vacuum of table "jiradb.public.propertyentry"
2018-03-29 10:57:38 CEST::@:[5208]: ERROR:  cannot freeze committed xmax 710196
2018-03-29 10:57:38 CEST::@:[5208]: CONTEXT:  automatic vacuum of table "jiradb.public.propertyentry"

この1つのパラメータを除いて、デフォルトの真空設定を使用します。

vacuum_cost_limit = 200

PostgreSQLを使用しています9.4.16、RedHat 7の単一ノードソリューション。

手伝って頂けますか?

3
Rohlik

2つのリード:

「jiradb.public.propertyentry」がマテリアライズドビューである場合、2018年の9.4.17のリリースで修正されたバグに遭遇している可能性があります-03-01。 リリースノート:

  • マテリアライズドビューのrelfrozenxidを保持できないpg_upgradeの失敗を修復します(Tom Lane、Andres Freund)

    この監視により、アップグレード後にマテリアライズドビューのデータが破損し、「トランザクションのステータスにアクセスできませんでした」または「relfrozenxidの前からxminが見つかりました」というエラーが発生する可能性があります。この問題は、めったに更新されないマテリアライズドビュー、またはREFRESH MATERIALIZED VIEW CONCURRENTLYでのみ維持されるビューで発生する可能性が高くなります。

    このような破損が見られる場合は、マテリアライズドビューを更新することで修復できます(CONCURRENTLYなし)。

最後の行には、これを修復する方法も示されています。

または、Postgres 9.2以前からアップグレードした場合cannot freeze committed xmax <xid>が発生するこの他の問題はあなたの問題である可能性があります。

修正されましたが、まだリリースされていません。 9.4.18である必要があります。

2