なんかPostgreSQL上げる直前くらいに整合性のないデータが大量に放り込まれていて、uniquenessが壊れてしまい、それを旧バージョンでdumpして新バージョンでrestoreするという処理 (これ自体はpg_upgradeclusterがやってくれる) の時にuniqueness violationが発生するみたいな大変なことになってた

上げる直前に何か操作ミスったんだろうなあ。普通はDBレベルで不整合なものって出ないと思うので、同じデータに対して2つのPostgreSQLが動いてたとかそういうのじゃないと説明つかない気がする (でもそれならそれでよく復旧できたな)

とりあえずpg_dumpを手でやり直して、重複しているデータをひとつひとつ手作業で消してからrestoreしたけど、これで外部キーが壊れる可能性は全然ある

私も同じようなことがありました:
Mastodon 腐った DB 矯正メモ (2020-05-05) by らりお
gist.github.com/lo48576/3fc718

これもしかして PgHero か何かから duplicate index を削除してしまうと発生するトラブルなのではという疑惑が出てきました

フォロー

@loliconductor @qnighy duplicate indexの削除と言えば、数日前にこんなのがマージされていまして
github.com/tootsuite/mastodon/

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。