在一个循环中:
要完成升级,请再次使用以下命令重建:./launcher rebuild app
我肯定漏掉了什么。完整日志如下。感谢任何帮助。
root@discuss:/var/discourse# ./launcher rebuild app
确保启动器已是最新版本
获取远程仓库
启动器已是最新版本
停止旧容器
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
已是最新状态。
I, [2020-05-26T20:43:00.459915 #1] INFO -- : 正在加载 --stdin
I, [2020-05-26T20:43:00.466076 #1] INFO -- : > locale-gen $LANG && update-locale
I, [2020-05-26T20:43:00.497010 #1] INFO -- : 正在生成区域设置(这可能需要一些时间)...
生成完成。
I, [2020-05-26T20:43:00.497661 #1] INFO -- : > mkdir -p /shared/postgres_run
I, [2020-05-26T20:43:00.500629 #1] INFO -- :
I, [2020-05-26T20:43:00.501124 #1] INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-05-26T20:43:00.503417 #1] INFO -- :
I, [2020-05-26T20:43:00.503867 #1] INFO -- : > chmod 775 /shared/postgres_run
I, [2020-05-26T20:43:00.505796 #1] INFO -- :
I, [2020-05-26T20:43:00.506199 #1] INFO -- : > rm -fr /var/run/postgresql
I, [2020-05-26T20:43:00.508341 #1] INFO -- :
I, [2020-05-26T20:43:00.508752 #1] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-05-26T20:43:00.510785 #1] INFO -- :
I, [2020-05-26T20:43:00.511166 #1] INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2020/05/26 20:43:00 socat[26] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): 没有那个文件或目录
I, [2020-05-26T20:43:00.515245 #1] INFO -- :
I, [2020-05-26T20:43:00.515542 #1] INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-05-26T20:43:00.518166 #1] INFO -- :
I, [2020-05-26T20:43:00.518509 #1] INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-05-26T20:43:00.520876 #1] INFO -- :
I, [2020-05-26T20:43:00.521215 #1] INFO -- : > mkdir -p /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-05-26T20:43:00.523438 #1] INFO -- :
I, [2020-05-26T20:43:00.523931 #1] INFO -- : > chown postgres:postgres /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-05-26T20:43:00.526034 #1] INFO -- :
I, [2020-05-26T20:43:00.530519 #1] INFO -- : 文件 > /etc/service/postgres/run chmod: +x chown:
I, [2020-05-26T20:43:00.534602 #1] INFO -- : 文件 > /etc/service/postgres/log/run chmod: +x chown:
I, [2020-05-26T20:43:00.538528 #1] INFO -- : 文件 > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2020-05-26T20:43:00.542481 #1] INFO -- : 文件 > /root/upgrade_postgres chmod: +x chown:
I, [2020-05-26T20:43:00.542896 #1] INFO -- : > chown -R root /var/lib/postgresql/12/main
I, [2020-05-26T20:43:00.638174 #1] INFO -- :
I, [2020-05-26T20:43:00.638520 #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-05-26T20:43:00.640938 #1] INFO -- :
I, [2020-05-26T20:43:00.641292 #1] INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-05-26T20:43:00.672801 #1] INFO -- :
I, [2020-05-26T20:43:00.673456 #1] INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-05-26T20:43:00.676098 #1] INFO -- :
I, [2020-05-26T20:43:00.676587 #1] INFO -- : > /root/upgrade_postgres
initdb: 警告:为本地连接启用“trust”身份验证
您可以通过编辑 pg_hba.conf 文件或使用选项 -A,或
--auth-local 和 --auth-host 在下次运行 initdb 时更改此设置。
debconf:由于未安装 apt-utils,延迟软件包配置。
mv: 无法将'/shared/postgres_data'移动到'/shared/postgres_data_old/postgres_data':目录不为空
mv: 无法将'/shared/postgres_data_new'移动到'/shared/postgres_data/postgres_data_new':目录不为空
I, [2020-05-26T20:43:15.530374 #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
Hit:1 http://deb.debian.org/debian buster InRelease
Get:2 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [49.3 kB]
Get:4 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [84.6 kB]
Get:5 http://security.debian.org/debian-security buster/updates/main amd64 Packages [201 kB]
Hit:6 https://deb.nodesource.com/node_10.x buster InRelease
Get:7 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [171 kB]
已获取 571 kB,耗时 1 秒(810 kB/s)
正在读取软件包列表...
正在读取软件包列表...
正在构建依赖关系树...
正在读取状态信息...
以下附加软件包将被安装:
postgresql-client-10
建议安装的软件包:
postgresql-doc-10
以下新软件包将被安装:
postgresql-10 postgresql-client-10
0 个升级,2 个新安装,0 个删除,9 个未升级。
需要下载 6,390 kB 的归档文件。
此操作后,将额外使用 30.6 MB 的磁盘空间。
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-10 amd64 10.13-1.pgdg100+1 [1,428 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-10 amd64 10.13-1.pgdg100+1 [4,961 kB]
已获取 6,390 kB,耗时 2 秒(4,017 kB/s)
选择之前未选中的软件包 postgresql-client-10。
(正在读取数据库 ... 当前已安装 43929 个文件和目录。)
正在准备解包 .../postgresql-client-10_10.13-1.pgdg100+1_amd64.deb ...
正在解包 postgresql-client-10 (10.13-1.pgdg100+1) ...
选择之前未选中的软件包 postgresql-10。
正在准备解包 .../postgresql-10_10.13-1.pgdg100+1_amd64.deb ...
正在解包 postgresql-10 (10.13-1.pgdg100+1) ...
正在设置 postgresql-client-10 (10.13-1.pgdg100+1) ...
update-alternatives: 警告:由于链接组 psql.1.gz 损坏,强制重新安装替代方案 /usr/share/postgresql/12/man/man1/psql.1.gz
正在设置 postgresql-10 (10.13-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 (213.pgdg100+1) 的触发器 ...
从已安装的 myspell/hunspell 软件包构建 PostgreSQL 词典...
正在删除过时的词典文件:
正在停止 PostgreSQL 10 数据库服务器:main。
正在停止 PostgreSQL 12 数据库服务器:main。
执行一致性检查
-----------------------------
检查集群版本 完成
检查数据库用户是否为安装用户 完成
检查数据库连接设置 完成
检查是否存在预准备事务 完成
检查用户表中的 reg* 数据类型 完成
检查 contrib/isn 是否存在 bigint 传递不匹配 完成
检查带有 OIDS 的表 完成
检查是否存在无效的“sql_identifier”用户列 完成
正在创建全局对象转储 完成
正在创建数据库架构转储
discourse
postgres
template1
完成
检查是否存在所需的库 完成
检查数据库用户是否为安装用户 完成
检查是否存在预准备事务 完成
如果 pg_upgrade 在此点之后失败,您必须在继续之前重新初始化
新集群。
执行升级
------------------
分析新集群中的所有行 完成
冻结新集群中的所有行 完成
从新 pg_xact 删除文件 完成
将旧 pg_xact 复制到新服务器 完成
为新集群设置下一个事务 ID 和纪元 完成
从新 pg_multixact/offsets 删除文件 完成
将旧 pg_multixact/offsets 复制到新服务器 完成
从新 pg_multixact/members 删除文件 完成
将旧 pg_multixact/members 复制到新服务器 完成
为新集群设置下一个 multixact ID 和偏移量 完成
重置 WAL 归档 完成
在新集群中设置 frozenxid 和 minmxid 计数器 完成
在新集群中恢复全局对象 完成
在新集群中恢复数据库架构
template1
discourse
postgres
完成
正在复制用户关系文件
/shared/postgres_data/base/16400/2613
/shared/postgres_data/base/16400/2683
/shared/postgres_data/base/16400/16728
/shared/postgres_data/base/16400/16728_fsm
/shared/postgres_data/base/16400/16728_vm
/shared/postgres_data/base/16400/16731
/shared/postgres_data/base/16400/84163
/shared/postgres_data/base/16400/84163_fsm
/shared/postgres_data/base/16400/84163_vm
……
完成
为新集群设置下一个 OID 完成
将数据目录同步到磁盘 完成
创建分析新集群的脚本 完成
创建删除旧集群的脚本 完成
升级完成
----------------
pg_upgrade 不会转移优化器统计信息,因此,
一旦启动新服务器,请考虑运行:
./analyze_new_cluster.sh
运行此脚本将删除旧集群的数据文件:
./delete_old_cluster.sh
-------------------------------------------------------------------------------------
POSTGRES 升级完成
旧 10 数据库存储在 /shared/postgres_data_old
要完成升级,请再次使用以下命令重建:
./launcher rebuild app
-------------------------------------------------------------------------------------