postgres 的升级失败

我失去了对安装程序的访问权限,因此需要重新启动。但在重新构建安装程序时,我遇到了以下错误:

    确保启动器为最新版本
    获取远程仓库
    启动器已是最新版本
    停止旧容器
    + /usr/bin/docker stop -t 60 app
    app
    cd /pups && git pull && /pups/bin/pups --stdin
    已是最新版本。
    I, [2020-09-25T19:47:06.304404 #1]  INFO -- : 正在加载 --stdin
    I, [2020-09-25T19:47:06.309199 #1]  INFO -- : > locale-gen $LANG && update-locale
    I, [2020-09-25T19:47:06.340351 #1]  INFO -- : 正在生成语言环境(这可能需要一些时间)...
    生成完成。

    I, [2020-09-25T19:47:06.340628 #1]  INFO -- : > mkdir -p /shared/postgres_run
    I, [2020-09-25T19:47:06.343723 #1]  INFO -- :
    I, [2020-09-25T19:47:06.343934 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
    I, [2020-09-25T19:47:06.346317 #1]  INFO -- :
    I, [2020-09-25T19:47:06.346499 #1]  INFO -- : > chmod 775 /shared/postgres_run
    I, [2020-09-25T19:47:06.348438 #1]  INFO -- :
    I, [2020-09-25T19:47:06.348620 #1]  INFO -- : > rm -fr /var/run/postgresql
    I, [2020-09-25T19:47:06.350928 #1]  INFO -- :
    I, [2020-09-25T19:47:06.351051 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
    I, [2020-09-25T19:47:06.353002 #1]  INFO -- :
    I, [2020-09-25T19:47:06.353156 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
    2020/09/25 19:47:06 socat[26] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): 没有那个文件或目录
    I, [2020-09-25T19:47:06.357605 #1]  INFO -- :
    I, [2020-09-25T19:47:06.357757 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
    I, [2020-09-25T19:47:06.360637 #1]  INFO -- :
    I, [2020-09-25T19:47:06.360777 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
    I, [2020-09-25T19:47:06.363695 #1]  INFO -- :
    I, [2020-09-25T19:47:06.363840 #1]  INFO -- : > mkdir -p /shared/postgres_run/12-main.pg_stat_tmp
    I, [2020-09-25T19:47:06.366202 #1]  INFO -- :
    I, [2020-09-25T19:47:06.366392 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/12-main.pg_stat_tmp
    I, [2020-09-25T19:47:06.368667 #1]  INFO -- :
    I, [2020-09-25T19:47:06.373532 #1]  INFO -- : 文件 > /etc/service/postgres/run  chmod: +x  chown:
    I, [2020-09-25T19:47:06.378089 #1]  INFO -- : 文件 > /etc/service/postgres/log/run  chmod: +x  chown:
    I, [2020-09-25T19:47:06.382828 #1]  INFO -- : 文件 > /etc/runit/3.d/99-postgres  chmod: +x  chown:
    I, [2020-09-25T19:47:06.387764 #1]  INFO -- : 文件 > /root/upgrade_postgres  chmod: +x  chown:
    I, [2020-09-25T19:47:06.388395 #1]  INFO -- : > chown -R root /var/lib/postgresql/12/main
    I, [2020-09-25T19:47:07.374399 #1]  INFO -- :
    I, [2020-09-25T19:47:07.374581 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/12/bin/initdb -D /shared/postgres_data || exit 0
    I, [2020-09-25T19:47:07.376827 #1]  INFO -- :
    I, [2020-09-25T19:47:07.376954 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
    I, [2020-09-25T19:47:07.394008 #1]  INFO -- :
    I, [2020-09-25T19:47:07.394177 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
    I, [2020-09-25T19:47:07.396745 #1]  INFO -- :
    I, [2020-09-25T19:47:07.397024 #1]  INFO -- : > /root/upgrade_postgres
    initdb: 警告:为本地连接启用“trust”身份验证
    您可以通过编辑 pg_hba.conf 文件,或在下次运行 initdb 时使用选项 -A、--auth-local 或 --auth-host 来更改此设置。
    debconf:由于未安装 apt-utils,延迟软件包配置。
    I, [2020-09-25T19:47:16.037143 #1]  INFO -- : 正在将 PostgreSQL 从版本 10 升级到版本 12
    属于此数据库系统的文件将由用户 "postgres" 拥有。
    该用户也必须拥有服务器进程。

    数据库集群将使用语言环境 "en_US.UTF-8" 进行初始化。
    默认数据库编码已相应设置为 "UTF8"。
    默认文本搜索配置将设置为 "english"。

    数据页校验和已禁用。

    修复现有目录 /shared/postgres_data_new 的权限 ... 完成
    创建子目录 ... 完成
    选择动态共享内存实现 ... posix
    选择默认 max_connections ... 100
    选择默认 shared_buffers ... 128MB
    选择默认时区 ... Etc/UTC
    创建配置文件 ... 完成
    运行引导脚本 ... 完成
    执行引导后初始化 ... 完成
    将数据同步到磁盘 ... 完成


    成功。现在您可以使用以下命令启动数据库服务器:

        /usr/lib/postgresql/12/bin/pg_ctl -D /shared/postgres_data_new -l logfile start

    Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
    Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
    Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
    Get:4 https://deb.nodesource.com/node_10.x buster InRelease [4,584 B]
    Get:5 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [103 kB]
    Get:6 http://security.debian.org/debian-security buster/updates/main amd64 Packages [233 kB]
    Get:7 http://deb.debian.org/debian buster/main amd64 Packages [7,906 kB]
    Get:8 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [202 kB]
    Get:9 https://deb.nodesource.com/node_10.x buster/main amd64 Packages [765 B]
    已获取 8,690 kB,耗时 2 秒(5,357 kB/s)
    正在读取软件包列表...
    正在读取软件包列表...
    正在构建依赖关系树...
    正在读取状态信息...
    以下附加软件包将被安装:
      postgresql-client-10
    建议安装的软件包:
      postgresql-doc-10
    以下新软件包将被安装:
      postgresql-10 postgresql-client-10
    0 个已升级,2 个新安装,0 个待删除,27 个未升级。
    需要下载 6,401 kB 的归档文件。
    此操作完成后,将额外占用 30.6 MB 的磁盘空间。
    Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-10 amd64 10.14-1.pgdg100+1 [1,433 kB]
    Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-10 amd64 10.14-1.pgdg100+1 [4,968 kB]
    已获取 6,401 kB,耗时 0 秒(23.9 MB/s)
    选择之前未选中的软件包 postgresql-client-10。
    (正在读取数据库 ... 当前已安装 43893 个文件和目录。)
    正在准备解包 .../postgresql-client-10_10.14-1.pgdg100+1_amd64.deb ...
    正在解包 postgresql-client-10 (10.14-1.pgdg100+1) ...
    选择之前未选中的软件包 postgresql-10。
    正在准备解包 .../postgresql-10_10.14-1.pgdg100+1_amd64.deb ...
    正在解包 postgresql-10 (10.14-1.pgdg100+1) ...
    正在设置 postgresql-client-10 (10.14-1.pgdg100+1) ...
    update-alternatives:警告:由于 psql.1.gz 链接组已损坏,强制重新安装替代项 /usr/share/postgresql/12/man/man1/psql.1.gz
    正在设置 postgresql-10 (10.14-1.pgdg100+1) ...
    正在创建新的 PostgreSQL 集群 10/main ...
    /usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5
    属于此数据库系统的文件将由用户 "postgres" 拥有。
    该用户也必须拥有服务器进程。

    数据库集群将使用语言环境 "C.UTF-8" 进行初始化。
    默认数据库编码已相应设置为 "UTF8"。
    默认文本搜索配置将设置为 "english"。

    数据页校验和已禁用。

    修复现有目录 /var/lib/postgresql/10/main 的权限 ... 完成
    创建子目录 ... 完成
    选择默认 max_connections ... 100
    选择默认 shared_buffers ... 128MB
    选择默认时区 ... Etc/UTC
    选择动态共享内存实现 ... posix
    创建配置文件 ... 完成
    运行引导脚本 ... 完成
    执行引导后初始化 ... 完成
    将数据同步到磁盘 ... 完成

    成功。现在您可以使用以下命令启动数据库服务器:

        pg_ctlcluster 10 main start

    警告:选定的 stats_temp_directory /var/run/postgresql/10-main.pg_stat_tmp
    对集群所有者不可写。因此未在
    postgresql.conf 中添加此设置。
    Ver Cluster Port Status Owner    Data directory              Log file
    10  main    5433 down   postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
    update-alternatives:警告:由于 postmaster.1.gz 链接组已损坏,强制重新安装替代项 /usr/share/postgresql/12/man/man1/postmaster.1.gz
    invoke-rc.d:无法确定当前运行级别
    invoke-rc.d:policy-rc.d 拒绝了启动执行。
    正在处理 postgresql-common (215.pgdg100+1) 的触发器 ...
    从已安装的 myspell/hunspell 软件包构建 PostgreSQL 词典...
    正在删除过时的词典文件:
    正在停止 PostgreSQL 10 数据库服务器:main。
    正在停止 PostgreSQL 12 数据库服务器:main。
    正在执行一致性检查
    -----------------------------
    检查集群版本                                   完成

    源集群未正常关闭。
    失败,正在退出
    -------------------------------------------------------------------------------------
    POSTGRES 升级失败

    请访问 https://meta.discourse.org/t/postgresql-12-update/151236 获取支持

    在此期间,您可以运行 ./launcher start app 来重新启动您的应用

网站无法访问,显示 502 错误网关。

访问该 URL 后,可以看到相关的常见问题解答条目: