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

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

Show thread
Follow

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

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

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

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

Sign in to participate in the conversation
qnmd.info

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!