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

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

スレッドを表示

とりあえず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/

· · Web · 0 · 0 · 1
ログインして会話に参加
Fedibird

LTLのないFediverse志向の汎用Mastodonサーバです。Fediverseの活動拠点としてご利用ください。