Erro do Postgres: subplano "SubPlan 2" não foi inicializado

Tenho um usuário que relata estar recebendo erros 500 “ao visualizar posts aleatórios”. Analisando os logs, só vejo estes, que parecem afetar apenas este usuário. Esta é uma instalação padrão atualizada para a PG13. Não vejo esses erros para nenhum outro usuário. Todos parecem estar relacionados a private_messages, o que não parece corresponder a “posts aleatórios”. Ao pesquisar esse erro, encontrei algumas postagens de um ano atrás alegando que se trata de um bug do Postgres.

Discourse 2.8.0.beta6 - https://github.com/discourse/discourse versão 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
)

Isso é de fato um bug do PostgreSQL que foi resolvido na última versão minor. Você pode fazer uma reconstrução? Isso atualizará o PostgreSQL para a última versão minor.

Oooh. Então

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

e após uma reconstrução:

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

Isso foi mencionado em alguma nota de lançamento? Ooh. Parece que isso aconteceu pelo menos desde agosto.

Tenho alguns sites para atualizar.

Obrigado, Rafael!

Enquanto estou por aqui, você recomendaria fazer um vacuum e uma reconstrução concorrente dos índices quando essa atualização menor ocorrer? Eu faço isso na atualização para a versão principal 13. Fazer isso para essa atualização menor é desnecessário, não é uma má ideia ou supérfluo?

Não deve haver necessidade disso, pois as versões menores são compatíveis com o mesmo formato de arquivo de disco.