Mastodon 炸了又好了,主要炸了一个小时吧,可能炸了三个小时。。
起因是,我的 Arch 服务器常年不滚(因为包多还是 HDD,而且滚了还得 merge pacnew)。今天跑 yt-dlp 发现已经不支持 YouTube 了,遂不得不滚。滚完了懒得 needrestart 重启服务了,觉得大概也没事儿,结果没曾想炸了。PostgreSQL 找不到 /usr/lib/postgresql/plpgsql.so 里的旧符号了,那看样子是不重启不行了。结果一重启发现 pgsql 从 14.1 升级到 15 了,这给我急得,赶忙更新。我之前 pgsql 数据甚至不在 btrfs subvol 里,我也没备份,所以当场花了十分钟 tar。之后尝试升级又发现升级也挺麻烦(第一次升级 pgsql major ver):它既需要 old binaries,还需要旧数据库文件,还要创建一样配置(encoding / locale)的 db,可我 initdb 时的配置都忘了。无奈跟着 archwiki 和 psql -l 的结果尝试 initdb 一下,我寻思我大概也没改什么复杂的吧。 ...
@SakuragawaAsaba @jimmy 确实不是,那东西锁 Node 版本,我开了个 nspawn 装(