# 升级到最新版后，所有数据都丢失了

**URL:** <https://meta.discourse.org/t/i-upgraded-to-latest-and-lost-everything/409647>\
**Category:** Self-hosting\
**Tags:** multisite\
**Created:** [2026年八月9日 22:37 UTC](https://meta.discourse.org/t/i-upgraded-to-latest-and-lost-everything/409647 "2026-08-09T22:37:23Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![kcahtoor](https://avatars.discourse-cdn.com/v4/letter/k/9de0a6/32.png) [@kcahtoor](https://meta.discourse.org/u/kcahtoor)\
**Post date:** [2026年八月9日 22:37 UTC](https://meta.discourse.org/t/i-upgraded-to-latest-and-lost-everything/409647/1 "2026-08-09T22:37:23Z")

</div>

我从默认站点升级了 Docker 管理器。升级后，我收到了一条消息，提示需要重新构建应用（launcher rebuild app）。我照做了。随后又收到一条消息，提示 PostgreSQL 已更新，需要再次重新构建。我也照做了。但是，我的默认站点运行正常，而第二个站点却丢失了所有数据。它并非全新实例，但现在只剩下一条系统欢迎帖子。

我尝试将 `postgres_data` 重命名为 `postgres_data_brocken`，并将 `data_old` 重命名为 `postgres_data`，然后再次尝试重新构建。结果依然相同：提示 PostgreSQL 从版本 15 升级到 18，并需要重新构建应用。但结果依旧没有改善。请帮忙解决。

```bash
sudo du -sh shared/standalone/postgres_data_old
678M shared/standalone/postgres_data_old

❯ sudo du -sh shared/standalone/postgres_data_brocken   
412M shared/standalone/postgres_data
_brocken

```

---

<div class="post-metadata">

**Author:** ![kcahtoor](https://avatars.discourse-cdn.com/v4/letter/k/9de0a6/32.png) [@kcahtoor](https://meta.discourse.org/u/kcahtoor)\
**Post date:** [2026年八月9日 23:10 UTC](https://meta.discourse.org/t/i-upgraded-to-latest-and-lost-everything/409647/2 "2026-08-09T23:10:57Z")

</div>

我认为在迁移第二个站点的数据库时，似乎出现了问题。

---

<div class="post-metadata">

**Author:** ![Andrew\_Rowe](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/andrew_rowe/32/445877_2.png) [@Andrew\_Rowe](https://meta.discourse.org/u/Andrew_Rowe)\
**Post date:** [2026年八月9日 23:18 UTC](https://meta.discourse.org/t/i-upgraded-to-latest-and-lost-everything/409647/3 "2026-08-09T23:18:28Z")

</div>

请确保您有足够的磁盘空间，您需要的空间大约是数据库大小的两倍。抱歉，我没有什么可以补充或帮助的地方，但请查看此线程以获取线索：

> [@面向自托管用户的 PostgreSQL 18 更新](https://meta.discourse.org/t/postgresql-18-update-for-self-hosters/406194/1):
>
> warning 警告！ 升级需要大量的空闲磁盘空间（数据库大小的 2 倍）。 我们刚刚完成了将 Docker 镜像升级至 PostgreSQL 18 的更改。任何通过命令行重建 Discourse 的网站管理员都将从之前的 PostgreSQL 15 升级至 PostgreSQL 18。请注意，如果您在 2025 年 PostgreSQL 15 更新 [发布时](https://meta.discourse.org/t/postgresql-15-update/349515) 选择暂缓升级，您可以跳过该升级步骤，直接升级至 PostgreSQL 18。 如果您之前暂缓了升级，请将 app.yml 中的 PostgreSQL 模板从 templates/postgres.13.template.yml 更改为 templates/postgres.template.yml。 与任何升级一样，强烈建议在执行任何操作之前进行备份。 区域设置变更 过去，我们在 glibc 更新期间（例如操作系统升级时）曾遇到过索引损坏的问题。自 PostgreSQL 17 起，出现了一种新的 [内置区域设置提供程序](https://www.postgresql.org/docs/18/locale.html#LOCALE-PROVIDERS)，它与操作系统的 glibc 解耦，因此跨版本更加稳定。作为此次升级的一部分，我们将迁移至使用 …

---

<div class="post-metadata">

**Author:** ![kcahtoor](https://avatars.discourse-cdn.com/v4/letter/k/9de0a6/32.png) [@kcahtoor](https://meta.discourse.org/u/kcahtoor)\
**Post date:** [2026年八月9日 23:33 UTC](https://meta.discourse.org/t/i-upgraded-to-latest-and-lost-everything/409647/4 "2026-08-09T23:33:23Z")

</div>

是的，我已经检查过了，但没有找到关于多站点升级的内容

---

<div class="post-metadata">

**Author:** ![kcahtoor](https://avatars.discourse-cdn.com/v4/letter/k/9de0a6/32.png) [@kcahtoor](https://meta.discourse.org/u/kcahtoor)\
**Post date:** [2026年八月10日 03:15 UTC](https://meta.discourse.org/t/i-upgraded-to-latest-and-lost-everything/409647/5 "2026-08-10T03:15:20Z")

</div>

所以我检查了 PostgreSQL 模板文件。它只针对一个数据库。这太荒谬了。它本应该遍历现有的数据库并对其进行更改。我把这个留在这里，供任何在此场景下寻找解决方案的人参考

```bash
DB_LIST=$(su postgres -c "/usr/lib/postgresql/${PG_MAJOR_OLD}/bin/psql -p 5432 -tAc \"select datname from pg_database where not datistemplate and datname != 'postgres'\"")

for DB in $DB_LIST; do
  su postgres -c "/usr/lib/postgresql/${PG_MAJOR_OLD}/bin/pg_dump -Fd -j$(nproc --ignore=1) \"$DB\" -f /shared/postgres_dump/\"$DB\""
done

```

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)\
**Post date:** [2026年九月9日 03:15 UTC](https://meta.discourse.org/t/i-upgraded-to-latest-and-lost-everything/409647/6 "2026-09-09T03:15:38Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
