ttrss 升级 PostgreSQL 数据库版本

根据 ttrss 的安装指南 (https://tt-rss.org/wiki/InstallationNotes) 进行安装后,数据库会不断重启,错误信息为 The data directory was initialized by PostgreSQL version 12, which is not compatible with this version 15.4.

如遇到这种情况除了可以修改 docker-compose.yml 文件将 PostgreSQL 版本改为 12 版外,还可以通过升级数据库文件的方式处理。

根据官方文档建议,可使用 pgautoupgrade 升级数据库(https://github.com/pgautoupgrade/docker-pgautoupgrade)

我的升级操作流程如下:

  1. 停止 ttrss 的容器
    docker-compose down
    docker-compose rm
  2. 获取 pgautoupgrade (注意下载 PosrgreSQL 15 版的)
    docker pull pgautoupgrade/pgautoupgrade:15-alpine3.8
  3. 将容器中的数据库备份出来:
    docker cp 容器 ID:/var/lib/postgresql/data /备份/存储/位置
  4. 进行数据库升级
    docker run –name pgauto -it –mount type=bind,source=/备份/存储/位置/,target=/var/lib/postgresql/data -e POSTGRES_PASSWORD=数据库密码 -e PGAUTO_ONESHOT=yes pgautoupgrade/pgautoupgrade:15-alpine3.8
  5. 将数据库恢复至容器
    docker cp ./备份存储位置 容器 ID:/var/lib/postgresql/
  6. 如之前已修改 ttrss 的 docker-compose.yml 文件的 PostgreSQL 版本降级为 12,注意恢复为 15,并启用容器

鲁公网安备 37010202001399号 鲁ICP备18034499号-1