Postgresエラー:サブプラン「SubPlan 2」が初期化されていません

あるユーザーが「ランダムな投稿を表示する際に500エラーが発生する」と報告しています。ログを確認すると、このユーザーにのみ影響していると思われる以下のエラーが確認されます。これはPG13まで最新にアップデートされた標準的なインストール環境です。他のユーザーにはこれらのエラーは確認されません。これらはすべてprivate_messagesに関連しているようですが、「ランダムな投稿」という状況とは合致しません。このエラーを検索すると、1年前のいくつかの投稿で、これがPostgresのバグであるとの主張が見つかります。

Discourse 2.8.0.beta6 - https://github.com/discourse/discourse version f513266bcbc03eedebda17695b8a7ffbcad6ebcc

Started GET "/u/joe/private-message-topic-tracking-state" for 82.71.0.62 at 2021-10-07 07:08:25 +0000
Processing by UsersController#private_message_topic_tracking_state as JSON
  Parameters: {"username"=>"joe"}
Completed 500 Internal Server Error in 70ms (ActiveRecord: 0.0ms | Allocations: 1952)
PG::InternalError (ERROR:  subplan "SubPlan 2" was not initialized
CONTEXT:  parallel worker
)

それは確かに、最新のマイナーバージョンで修正された PostgreSQL のバグです。再ビルドを行えますか?そうすれば PostgreSQL が最新のマイナーバージョンに更新されます。

おっと。つまり

root@community:~# docker exec -it data bash -c 'psql --version'
psql (PostgreSQL) 13.1 (Debian 13.1-1.pgdg100+1)

そして再ビルド後:

# docker exec -it data bash -c 'psql --version'
psql (PostgreSQL) 13.3 (Debian 13.3-1.pgdg100+1)

これはリリースノートで何か言及されていましたか?おお、少なくとも8月にはすでに起きていたようですね。

いくつかのサイトをアップデートする必要があります。

ありがとう、ラファエル!

ついでに伺いたいのですが、このマイナーアップグレード時にVacuumと並行したインデックスの再構築を行うことを推奨しますか?私はメジャーバージョン13へのアップグレード時に実施しています。今回のマイナーアップグレードでも行うのは不要でしょうか、悪い考えではないでしょうか、それとも余計な作業でしょうか?

それは不要でしょう。マイナーバージョンは同じディスクファイル形式と互換性があるためです。