我正在帮助一个拒绝升级到 PG13 并导致 SSL 证书过期的人。
由于 https://meta.discourse.org/t/apt-get-update-fails-inside-container-yarn-repo-not-signed/253133/5,这可能会变得更加困难,但我修改了 pg12 和 pg13 模板,它们应该可以工作,但我无法完成升级,也无法使用 pg12 模板进行重建。
以下是我尝试升级时发生的情况:
正在修复现有目录 /var/lib/postgresql/12/main 的权限 ... 确定
正在创建子目录 ... 确定
正在选择动态共享内存实现 ... posix
正在选择默认 max_connections ... 100
正在选择默认 shared_buffers ... 128MB
正在选择默认 time zone ... Etc/UTC
正在创建配置文件 ... 确定
正在运行引导脚本 ... 确定
正在执行引导后初始化 ... 确定
正在将数据同步到磁盘 ... 确定
成功。您现在可以使用以下命令启动数据库服务器:
pg_ctlcluster 12 main start
update-alternatives: 警告:由于链接组 postmaster.1.g 损坏,正在强制重新安装 /usr/share/postgresql/13/man/man1/postmaster.1.gz
invoke-rc.d: 无法确定当前运行级别
invoke-rc.d: policy-rc.d 禁止执行 start。
正在处理 postgresql-common (246.pgdg110+1) 的触发器 ...
正在从已安装的 myspell/hunspell 包构建 PostgreSQL 字典...
正在删除过时的字典文件:
正在停止 PostgreSQL 12 数据库服务器:main。
正在停止 PostgreSQL 13 数据库服务器:main。
正在执行一致性检查 -----------------------------
正在检查集群版本 确定
正在检查数据库用户是否为安装用户 确定
正在检查数据库连接设置 确定
正在检查预备事务 确定
正在检查用户表中的系统定义复合类型 确定
正在检查用户表中的 reg* 数据类型 确定
正在检查 contrib/isn 是否存在 bigint 传递不匹配 确定
正在创建全局对象转储 确定
正在创建数据库模式转储
discourse
*失败*
有关失败的可能原因,请参阅“pg_upgrade_dump_16566.log”的最后几行。
失败,正在退出
-------------------------------------------------------------------------------------
POSTGRES 升级失败
请访问 https://meta.discourse.org/t/postgresql-13-update/172563 获取支持。
在此期间,您可以运行 ./launcher start app 来重启您的应用程序。
尝试在不升级的情况下进行重建时,在迁移数据库时会出现类似以下内容:
PG::InsufficientPrivilege: 错误:创建扩展“unaccent”的权限被拒绝
我认为我必须恢复到干净的安装和最新的备份,这已经是几天前的了。