Discourse 重建

大家好,

我是 Discourse 的新手,但一直在查看我们公司由他人搭建的一个实例。我们团队中的一位成员更新了 SSL 证书,此后该实例已中断数周。尝试重建时也遇到了问题。有人能帮忙吗?

这是重建输出。

sudo ./launcher rebuild app
确保启动器为最新版本
获取 origin
启动器已是最新版本
停止旧容器
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
已是最新。
I, [2021-01-27T00:56:18.217397 #1]  INFO -- : 正在加载 --stdin
I, [2021-01-27T00:56:18.221386 #1]  INFO -- : > apt-get remove -y postgresql-10 postgresql-client-10 postgresql-contrib-10
I, [2021-01-27T00:56:19.014337 #1]  INFO -- : 正在读取软件包列表...
正在构建依赖关系树...
正在读取状态信息...
软件包 'postgresql-10' 未安装,因此未删除
软件包 'postgresql-client-10' 未安装,因此未删除
0 个升级,0 个新安装,0 个待删除,0 个未升级。

I, [2021-01-27T00:56:19.014524 #1]  INFO -- : > apt-get update && apt-get install -y postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
debconf:由于未安装 apt-utils,正在延迟软件包配置
I, [2021-01-27T00:56:27.744372 #1]  INFO -- : 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 https://deb.nodesource.com/node_10.x buster InRelease [4,584 B]
Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [270 kB]
Get:5 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [104 kB]
Get:6 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
Get:7 https://deb.nodesource.com/node_10.x buster/main amd64 Packages [766 B]
Get:8 http://deb.debian.org/debian buster-updates/main amd64 Packages.diff/Index [4,672 B]
Get:9 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-12-24-1401.30.pdiff [286 B]
Get:9 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-12-24-1401.30.pdiff [286 B]
Get:10 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [217 kB]
已获取 718 kB,耗时 1 秒(566 kB/s)
正在读取软件包列表...
正在读取软件包列表...
正在构建依赖关系树...
正在读取状态信息...
建议的软件包:
  postgresql-doc-9.5 libdbd-pg-perl
以下新软件包将被安装:
  postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
0 个升级,3 个新安装,0 个待删除,6 个未升级。
需要下载 5,822 kB 的归档文件。
操作后,将额外使用 28.0 MB 的磁盘空间。
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-9.5 amd64 9.5.24-1.pgdg100+1 [1,290 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-9.5 amd64 9.5.24-1.pgdg100+1 [4,066 kB]
Get:3 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-contrib-9.5 amd64 9.5.24-1.pgdg100+1 [465 kB]
已获取 5,822 kB,耗时 2 秒(3,628 kB/s)
选择此前未选中的软件包 postgresql-client-9.5。
(正在读取数据库 ... 当前已安装 43899 个文件和目录。)
正在准备解包 .../postgresql-client-9.5_9.5.24-1.pgdg100+1_amd64.deb ...
正在解包 postgresql-client-9.5 (9.5.24-1.pgdg100+1) ...
选择此前未选中的软件包 postgresql-9.5。
正在准备解包 .../postgresql-9.5_9.5.24-1.pgdg100+1_amd64.deb ...
正在解包 postgresql-9.5 (9.5.24-1.pgdg100+1) ...
选择此前未选中的软件包 postgresql-contrib-9.5。
正在准备解包 .../postgresql-contrib-9.5_9.5.24-1.pgdg100+1_amd64.deb ...
正在解包 postgresql-contrib-9.5 (9.5.24-1.pgdg100+1) ...
正在设置 postgresql-client-9.5 (9.5.24-1.pgdg100+1) ...
update-alternatives:警告:由于链接组 psql.1.gz 已损坏,强制重新安装替代方案 /usr/share/postgresql/13/man/man1/psql.1.gz
正在设置 postgresql-9.5 (9.5.24-1.pgdg100+1) ...
正在创建新的 PostgreSQL 集群 9.5/main ...
/usr/lib/postgresql/9.5/bin/initdb -D /var/lib/postgresql/9.5/main --auth-local peer --auth-host md5
属于此数据库系统的文件将由用户 "postgres" 拥有。
该用户也必须拥有服务器进程。

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

数据页校验和已禁用。

正在修复现有目录 /var/lib/postgresql/9.5/main 的权限 ... 完成
正在创建子目录 ... 完成
正在选择默认 max_connections ... 100
正在选择默认 shared_buffers ... 128MB
正在选择默认时区 ... Etc/UTC
正在选择动态共享内存实现 ... posix
正在创建配置文件 ... 完成
正在创建 /var/lib/postgresql/9.5/main/base/1 中的 template1 数据库 ... 完成
正在初始化 pg_authid ... 完成
正在初始化依赖项 ... 完成
正在创建系统视图 ... 完成
正在加载系统对象的描述 ... 完成
正在创建排序规则 ... 完成
正在创建转换 ... 完成
正在创建词典 ... 完成
正在设置内置对象的权限 ... 完成
正在创建信息模式 ... 完成
正在加载 PL/pgSQL 服务器端语言 ... 完成
正在对数据库 template1 执行 vacuum ... 完成
正在将 template1 复制到 template0 ... 完成
正在将 template1 复制到 postgres ... 完成
正在将数据同步到磁盘 ... 完成

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

    /usr/lib/postgresql/9.5/bin/pg_ctl -D /var/lib/postgresql/9.5/main -l logfile start

版本 集群   端口 状态   所有者    数据目录                          日志文件
9.5 main    5433 关闭   postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
update-alternatives:警告:由于链接组 postmaster.1.gz 已损坏,强制重新安装替代方案 /usr/share/postgresql/13/man/man1/postmaster.1.gz
invoke-rc.d:无法确定当前运行级别
invoke-rc.d:policy-rc.d 拒绝了启动执行。
正在设置 postgresql-contrib-9.5 (9.5.24-1.pgdg100+1) ...
正在处理 postgresql-common (223.pgdg100+1) 的触发器 ...
从已安装的 myspell/hunspell 软件包构建 PostgreSQL 词典...
正在删除过时的词典文件:

I, [2021-01-27T00:56:27.744534 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2021-01-27T00:56:27.746759 #1]  INFO -- :
I, [2021-01-27T00:56:27.746920 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2021-01-27T00:56:27.748670 #1]  INFO -- :
I, [2021-01-27T00:56:27.748817 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2021-01-27T00:56:27.750312 #1]  INFO -- :
I, [2021-01-27T00:56:27.750445 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2021-01-27T00:56:27.752163 #1]  INFO -- :
I, [2021-01-27T00:56:27.752286 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2021-01-27T00:56:27.753733 #1]  INFO -- :
I, [2021-01-27T00:56:27.753861 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2021/01/27 00:56:27 socat[1563] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): 没有那个文件或目录
I, [2021-01-27T00:56:27.757032 #1]  INFO -- :
I, [2021-01-27T00:56:27.757131 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2021-01-27T00:56:27.759113 #1]  INFO -- :
I, [2021-01-27T00:56:27.759211 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2021-01-27T00:56:27.761112 #1]  INFO -- :
I, [2021-01-27T00:56:27.761207 #1]  INFO -- : > mkdir -p /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2021-01-27T00:56:27.762768 #1]  INFO -- :
I, [2021-01-27T00:56:27.762914 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2021-01-27T00:56:27.764392 #1]  INFO -- :
I, [2021-01-27T00:56:27.767696 #1]  INFO -- : 文件 > /etc/service/postgres/run  chmod: +x  chown:
I, [2021-01-27T00:56:27.770758 #1]  INFO -- : 文件 > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2021-01-27T00:56:27.770945 #1]  INFO -- : > chown -R root /var/lib/postgresql/9.5/main
I, [2021-01-27T00:56:27.776379 #1]  INFO -- :
I, [2021-01-27T00:56:27.776453 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/9.5/bin/initdb -D /shared/postgres_data || exit 0
I, [2021-01-27T00:56:27.777801 #1]  INFO -- :
I, [2021-01-27T00:56:27.777850 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2021-01-27T00:56:27.783111 #1]  INFO -- :
I, [2021-01-27T00:56:27.783215 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2021-01-27T00:56:27.784767 #1]  INFO -- :
I, [2021-01-27T00:56:27.784941 #1]  INFO -- : 正在将 /etc/postgresql/9.5/main/postgresql.conf 中的 data_directory = '/var/lib/postgresql/9.5/main' 替换为 data_directory = '/shared/postgres_data'
I, [2021-01-27T00:56:27.785211 #1]  INFO -- : 正在将 /etc/postgresql/9.5/main/postgresql.conf 中的 (?-mix:#?listen_addresses *=.*) 替换为 listen_addresses = '*'
I, [2021-01-27T00:56:27.785927 #1]  INFO -- : 正在将 /etc/postgresql/9.5/main/postgresql.conf 中的 (?-mix:#?synchronous_commit *=.*) 替换为 synchronous_commit = $db_synchronous_commit
I, [2021-01-27T00:56:27.786670 #1]  INFO -- : 正在将 /etc/postgresql/9.5/main/postgresql.conf 中的 (?-mix:#?shared_buffers *=.*) 替换为 shared_buffers = $db_shared_buffers
I, [2021-01-27T00:56:27.787426 #1]  INFO -- : 正在将 /etc/postgresql/9.5/main/postgresql.conf 中的 (?-mix:#?work_mem *=.*) 替换为 work_mem = $db_work_mem
I, [2021-01-27T00:56:27.788428 #1]  INFO -- : 正在将 /etc/postgresql/9.5/main/postgresql.conf 中的 (?-mix:#?default_text_search_config *=.*) 替换为 default_text_search_config = '$db_default_text_search_config'
I, [2021-01-27T00:56:27.789053 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2021-01-27T00:56:27.790832 #1]  INFO -- :
I, [2021-01-27T00:56:27.791033 #1]  INFO -- : 正在将 /etc/postgresql/9.5/main/postgresql.conf 中的 (?-mix:#?checkpoint_segments *=.*) 替换为 checkpoint_segments = $db_checkpoint_segments
I, [2021-01-27T00:56:27.791241 #1]  INFO -- : 正在将 /etc/postgresql/9.5/main/postgresql.conf 中的 (?-mix:#?logging_collector *=.*) 替换为 logging_collector = $db_logging_collector
I, [2021-01-27T00:56:27.791909 #1]  INFO -- : 正在将 /etc/postgresql/9.5/main/postgresql.conf 中的 (?-mix:#?log_min_duration_statement *=.*) 替换为 log_min_duration_statement = $db_log_min_duration_statement
I, [2021-01-27T00:56:27.792577 #1]  INFO -- : 正在将 /etc/postgresql/9.5/main/pg_hba.conf 中的 (?-mix:^local +replication +postgres +peer$) 替换为 local replication postgres  peer
I, [2021-01-27T00:56:27.792744 #1]  INFO -- : 正在将 /etc/postgresql/9.5/main/pg_hba.conf 中的 (?-mix:^host.*all.*all.*127.*$) 替换为 host all all 0.0.0.0/0 md5
I, [2021-01-27T00:56:27.793816 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.5/bin/postmaster -D /etc/postgresql/9.5/main
I, [2021-01-27T00:56:27.794896 #1]  INFO -- : > sleep 5
2021-01-27 00:56:27.803 UTC [1579] FATAL:  "/shared/postgres_data" 不是有效的数据目录
2021-01-27 00:56:27.803 UTC [1579] DETAIL:  文件 "/shared/postgres_data/PG_VERSION" 不包含有效数据。
2021-01-27 00:56:27.803 UTC [1579] HINT:  您可能需要运行 initdb。
I, [2021-01-27T00:56:32.796560 #1]  INFO -- :
I, [2021-01-27T00:56:32.796794 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
createdb: 错误:无法连接到数据库 template1:无法连接到服务器:没有那个文件或目录
        服务器是否在本地运行并接受
        Unix 域套接字 "/var/run/postgresql/.s.PGSQL.5432" 上的连接?
I, [2021-01-27T00:56:32.831116 #1]  INFO -- :
I, [2021-01-27T00:56:32.831264 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
psql: 错误:无法连接到服务器:没有那个文件或目录
        服务器是否在本地运行并接受
        Unix 域套接字 "/var/run/postgresql/.s.PGSQL.5432" 上的连接?
I, [2021-01-27T00:56:32.870370 #1]  INFO -- :
I, [2021-01-27T00:56:32.870513 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql: 错误:无法连接到服务器:没有那个文件或目录
        服务器是否在本地运行并接受
        Unix 域套接字 "/var/run/postgresql/.s.PGSQL.5432" 上的连接?
I, [2021-01-27T00:56:32.908898 #1]  INFO -- :
I, [2021-01-27T00:56:32.909038 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql: 错误:无法连接到服务器:没有那个文件或目录
        服务器是否在本地运行并接受
        Unix 域套接字 "/var/run/postgresql/.s.PGSQL.5432" 上的连接?
I, [2021-01-27T00:56:32.947732 #1]  INFO -- :
I, [2021-01-27T00:56:32.947960 #1]  INFO -- : 正在终止异步进程


失败
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' 执行失败,返回状态 #<Process::Status: pid 1605 exit 2>
失败位置:/pups/lib/pups/exec_command.rb:112:in `spawn'
使用参数 "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'" 执行失败
939070e4fa69fee27e24019c29559257d18d45800db622ff039dbf4eba4372f1
** 引导失败 ** 请向上滚动查看更早的错误消息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。

您能分享一下您的 app.yml(/var/discourse/containers/app.yml)吗?(请记得先移除敏感数据)

ubuntu@ip-10-0-5-81:/var/discourse_docker$ cat /var/discourse_docker/containers/app.yml

这是一个独立的全功能 Discourse Docker 容器模板

修改此文件后,您必须重新构建

/var/discourse/launcher rebuild app

编辑时请非常小心!

YAML 文件对空格或缩进错误极其敏感!

如需验证此文件,请访问 http://www.yamllint.com/

templates:

  • “templates/postgres.9.5.template.yml”
  • “templates/redis.template.yml”
  • “templates/web.template.yml”
  • “templates/web.ratelimited.template.yml”

如果您想添加 Lets Encrypt (https),请取消注释这两行

#- “templates/web.ssl.template.yml”
#- “templates/web.letsencrypt.ssl.template.yml”

此容器应暴露哪些 TCP/IP 端口?

如果您希望 Discourse 与另一个 Web 服务器(如 Apache 或 nginx)共享端口,

请参阅 Run other websites on the same machine as Discourse 了解详情

expose:

  • “80:80” # http
  • “443:443” # https
  • “2222:22” # ssh

params:
db_default_text_search_config: “pg_catalog.english”

将 db_shared_buffers 设置为总内存的最大 25%。

将基于检测到的 RAM 由 bootstrap 自动设置,或者您可以覆盖

db_shared_buffers: “1792MB”

可以改善排序性能,但会增加每个连接的内存使用量

#db_work_mem: “40MB”

此容器应使用哪个 Git 修订版本?(默认值:tests-passed)

#version: tests-passed

env:
LANG: en_US.UTF-8

DISCOURSE_DEFAULT_LOCALE: en

支持多少个并发 Web 请求?取决于内存和 CPU 核心数。

将基于检测到的 CPU 由 bootstrap 自动设置,或者您可以覆盖

UNICORN_WORKERS: 4

TODO: 此 Discourse 实例将响应的域名

必需项。Discourse 无法仅使用裸 IP 地址运行。

DISCOURSE_HOSTNAME: ‘discourse.frostbite.com

如果您希望容器以与上述指定的相同主机名启动(-h 选项),请取消注释

(默认值为 “$hostname-$config”)

#DOCKER_USE_HOSTNAME: true

TODO: 初始注册时将设为管理员和开发人员的逗号分隔邮箱列表

示例:‘user1@example.com,user2@example.com’

DISCOURSE_DEVELOPER_EMAILS: ‘ipersson@frostbite.com’

TODO: 用于验证新账户和发送通知的 SMTP 邮件服务器

SMTP 地址、用户名和密码为必需项

警告:SMTP 密码中的字符 ‘#’ 可能会引发问题!

DISCOURSE_SMTP_ADDRESS: ‘email-smtp.us-west-2.amazonaws.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: ‘’
DISCOURSE_SMTP_PASSWORD: ‘’
DISCOURSE_SMTP_ENABLE_START_TLS: true # (可选,默认为 true)
DISCOURSE_SMTP_AUTHENTICATION: ‘login’

DISCOURSE_DB_SOCKET: ‘’
DISCOURSE_DB_NAME: ‘discourse’
DISCOURSE_DB_POOL: 15
DISCOURSE_DB_USERNAME: ‘discourse’
DISCOURSE_DB_PASSWORD: ‘’
DISCOURSE_DB_HOST: ‘’
DISCOURSE_DB_PORT: ‘5432’
DISCOURSE_REDIS_HOST: ‘’
DISCOURSE_REDIS_PORT: ‘6379’

如果您添加了 Lets Encrypt 模板,请取消注释以下行以获取免费 SSL 证书

#LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

此 Discourse 实例的 http 或 https CDN 地址(配置为拉取)

请参阅 Enable a CDN for your Discourse 了解详情

#DISCOURSE_CDN_URL: https://discourse-cdn.example.com

用于 IP 地址查询的 MaxMind 地理位置 IP 地址密钥

请参阅 Upgrade / Rebuilds Fail due to MaxMind DB EOL - #23 by sam 了解详情

#DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

Docker 容器是无状态的;所有数据都存储在 /shared 中

volumes:

  • volume:
    host: /var/discourse/shared/standalone
    guest: /shared
  • volume:
    host: /var/discourse/shared/standalone/log/var-log
    guest: /var/log

插件放在此处

请参阅 Install plugins on a self-hosted site 了解详情

hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- mkdir -p plugins
- git clone GitHub - discourse/docker_manager: Plugin for use with discourse docker image · GitHub
- git clone GitHub - discourse/discourse-solved: Allow accepted answers on topics · GitHub
- git clone GitHub - discourse/discourse-topic-voting: Adds the ability for voting on a topic within a specified category in Discourse. · GitHub

构建后运行的任何自定义命令

run:

  • exec: echo “开始执行自定义命令”

如果您想为首次注册设置“发件人”电子邮件地址,请取消注释并修改:

收到首次注册邮件后,请重新注释该行。该行只需运行一次。

#- exec: rails r “SiteSetting.notification_email=‘info@unconfigured.discourse.org’”

  • exec: echo “自定义命令结束”
  • exec: awk -F\# ‘{print $1;}’ ~/.ssh/authorized_keys | awk ‘BEGIN { print “此容器的授权 SSH 密钥:”; } NF>=2 {print $NF;}’

感谢在此提供帮助。从 app.yml 文件来看,数据库托管在不同的服务器上。该实例一直运行正常,除了 SSL 更新外,未进行任何更改。

因此,这是一个非常古老的安装,最后负责它的人不想处理 PostgreSQL 10 的升级,所以将其锁定在 PostgreSQL 9.5。

如今 Discourse 使用 PostgreSQL 13,因此您需要按照以下步骤操作:

  1. 进行备份
  2. 修改 app.yml 中的这一行:
    将:- "templates/postgres.9.5.template.yml"
    改为:- "templates/postgres.template.yml"
  3. 重新构建并遵循相关说明。

由于您自 2018 年以来跳过了两次主要的 PostgreSQL 升级,因此这个过程可能会比平时更加棘手。

谢谢,这确实让进程向前推进了一些,但遗憾的是仍然报出了与 psql 相关的错误

第 1 部分

ubuntu@ip-10-0-5-81:/var/discourse_docker$ sudo git pull
已经是最新的。
ubuntu@ip-10-0-5-81:/var/discourse_docker$ sudo ./launcher rebuild app
确保启动器是最新的
获取远程仓库
启动器已是最新
停止旧容器
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
已经是最新的。
I, [2021-01-27T02:23:32.961245 #1]  INFO -- : 正在加载 --stdin
I, [2021-01-27T02:23:32.965383 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2021-01-27T02:23:32.987516 #1]  INFO -- : 正在生成语言环境(这可能需要一点时间)...
生成完成。

I, [2021-01-27T02:23:32.987669 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2021-01-27T02:23:32.989911 #1]  INFO -- :
I, [2021-01-27T02:23:32.990064 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2021-01-27T02:23:32.992027 #1]  INFO -- :
I, [2021-01-27T02:23:32.992154 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2021-01-27T02:23:32.993583 #1]  INFO -- :
I, [2021-01-27T02:23:32.993702 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2021-01-27T02:23:32.995266 #1]  INFO -- :
I, [2021-01-27T02:23:32.995389 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2021-01-27T02:23:32.996948 #1]  INFO -- :
I, [2021-01-27T02:23:32.997071 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2021/01/27 02:23:33 socat[28] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): 没有那个文件或目录
I, [2021-01-27T02:23:33.000489 #1]  INFO -- :
I, [2021-01-27T02:23:33.000604 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2021-01-27T02:23:33.002633 #1]  INFO -- :
I, [2021-01-27T02:23:33.002731 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2021-01-27T02:23:33.004812 #1]  INFO -- :
I, [2021-01-27T02:23:33.004925 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2021-01-27T02:23:33.006528 #1]  INFO -- :
I, [2021-01-27T02:23:33.006672 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2021-01-27T02:23:33.008413 #1]  INFO -- :
I, [2021-01-27T02:23:33.011835 #1]  INFO -- : 文件 > /etc/service/postgres/run  chmod: +x  chown:
I, [2021-01-27T02:23:33.014961 #1]  INFO -- : 文件 > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2021-01-27T02:23:33.018297 #1]  INFO -- : 文件 > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2021-01-27T02:23:33.021412 #1]  INFO -- : 文件 > /root/upgrade_postgres  chmod: +x  chown:
I, [2021-01-27T02:23:33.021632 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2021-01-27T02:23:35.186494 #1]  INFO -- :
I, [2021-01-27T02:23:35.186619 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2021-01-27T02:23:35.188812 #1]  INFO -- :
I, [2021-01-27T02:23:35.188877 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2021-01-27T02:23:35.194463 #1]  INFO -- :
I, [2021-01-27T02:23:35.194567 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2021-01-27T02:23:35.196238 #1]  INFO -- :
I, [2021-01-27T02:23:35.196378 #1]  INFO -- : > /root/upgrade_postgres
I, [2021-01-27T02:23:35.199668 #1]  INFO -- :
I, [2021-01-27T02:23:35.199784 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2021-01-27T02:23:35.201235 #1]  INFO -- :
I, [2021-01-27T02:23:35.201464 #1]  INFO -- : 在 /etc/postgresql/13/main/postgresql.conf 中将 data_directory = '/var/lib/postgresql/13/main' 替换为 data_directory = '/shared/postgres_data'
I, [2021-01-27T02:23:35.201885 #1]  INFO -- : 在 /etc/postgresql/13/main/postgresql.conf 中将 (?-mix:#?listen_addresses *=.*) 替换为 listen_addresses = '*'
I, [2021-01-27T02:23:35.202816 #1]  INFO -- : 在 /etc/postgresql/13/main/postgresql.conf 中将 (?-mix:#?synchronous_commit *=.*) 替换为 synchronous_commit = $db_synchronous_commit
I, [2021-01-27T02:23:35.204224 #1]  INFO -- : 在 /etc/postgresql/13/main/postgresql.conf 中将 (?-mix:#?shared_buffers *=.*) 替换为 shared_buffers = $db_shared_buffers
I, [2021-01-27T02:23:35.205139 #1]  INFO -- : 在 /etc/postgresql/13/main/postgresql.conf 中将 (?-mix:#?work_mem *=.*) 替换为 work_mem = $db_work_mem
I, [2021-01-27T02:23:35.206223 #1]  INFO -- : 在 /etc/postgresql/13/main/postgresql.conf 中将 (?-mix:#?default_text_search_config *=.*) 替换为 default_text_search_config = '$db_default_text_search_config'
I, [2021-01-27T02:23:35.207160 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2021-01-27T02:23:35.209131 #1]  INFO -- :
I, [2021-01-27T02:23:35.209339 #1]  INFO -- : 在 /etc/postgresql/13/main/postgresql.conf 中将 (?-mix:#?checkpoint_segments *=.*) 替换为 checkpoint_segments = $db_checkpoint_segments
I, [2021-01-27T02:23:35.209556 #1]  INFO -- : 在 /etc/postgresql/13/main/postgresql.conf 中将 (?-mix:#?logging_collector *=.*) 替换为 logging_collector = $db_logging_collector
I, [2021-01-27T02:23:35.210628 #1]  INFO -- : 在 /etc/postgresql/13/main/postgresql.conf 中将 (?-mix:#?log_min_duration_statement *=.*) 替换为 log_min_duration_statement = $db_log_min_duration_statement
I, [2021-01-27T02:23:35.211627 #1]  INFO -- : 在 /etc/postgresql/13/main/pg_hba.conf 中将 (?-mix:^#local +replication +postgres +peer$) 替换为 local replication postgres  peer
I, [2021-01-27T02:23:35.211812 #1]  INFO -- : 在 /etc/postgresql/13/main/pg_hba.conf 中将 (?-mix:^host.*all.*all.*127.*$) 替换为 host all all 0.0.0.0/0 md5
I, [2021-01-27T02:23:35.212556 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2021-01-27T02:23:35.213655 #1]  INFO -- : > sleep 5
2021-01-27 02:23:35.274 UTC [51] LOG:  正在启动 PostgreSQL 13.1 (Debian 13.1-1.pgdg100+1),编译于 x86_64-pc-linux-gnu,使用 gcc (Debian 8.3.0-6) 8.3.0,64 位
2021-01-27 02:23:35.274 UTC [51] LOG:  正在监听 IPv4 地址 "0.0.0.0",端口 5432
2021-01-27 02:23:35.274 UTC [51] LOG:  正在监听 IPv6 地址 "::",端口 5432
2021-01-27 02:23:35.278 UTC [51] LOG:  正在监听 Unix 套接字 "/var/run/postgresql/.s.PGSQL.5432"
2021-01-27 02:23:35.285 UTC [54] LOG:  数据库系统在 2021-01-22 18:45:58 UTC 已关闭
2021-01-27 02:23:35.293 UTC [51] LOG:  数据库系统已准备好接受连接
I, [2021-01-27T02:23:40.215863 #1]  INFO -- :
I, [2021-01-27T02:23:40.216095 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2021-01-27 02:23:40.254 UTC [64] postgres@postgres ERROR:  数据库 "discourse" 已存在
2021-01-27 02:23:40.254 UTC [64] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: 错误:数据库创建失败:错误:数据库 "discourse" 已存在
I, [2021-01-27T02:23:40.255326 #1]  INFO -- :
I, [2021-01-27T02:23:40.255544 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2021-01-27 02:23:40.297 UTC [75] postgres@discourse ERROR:  角色 "discourse" 已存在
2021-01-27 02:23:40.297 UTC [75] postgres@discourse STATEMENT:  create user discourse;
错误:角色 "discourse" 已存在
I, [2021-01-27T02:23:40.298381 #1]  INFO -- :
I, [2021-01-27T02:23:40.298564 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2021-01-27T02:23:40.339257 #1]  INFO -- : GRANT

I, [2021-01-27T02:23:40.339469 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2021-01-27T02:23:40.381081 #1]  INFO -- : ALTER SCHEMA

I, [2021-01-27T02:23:40.381291 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
通知:扩展 "hstore" 已存在,跳过
I, [2021-01-27T02:23:40.424028 #1]  INFO -- : CREATE EXTENSION

I, [2021-01-27T02:23:40.424230 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
通知:扩展 "pg_trgm" 已存在,跳过
I, [2021-01-27T02:23:40.465201 #1]  INFO -- : CREATE EXTENSION

I, [2021-01-27T02:23:40.465402 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
通知:扩展 "hstore" 已存在,跳过
I, [2021-01-27T02:23:40.505848 #1]  INFO -- : CREATE EXTENSION

I, [2021-01-27T02:23:40.506132 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
通知:扩展 "pg_trgm" 已存在,跳过
I, [2021-01-27T02:23:40.546197 #1]  INFO -- : CREATE EXTENSION

I, [2021-01-27T02:23:40.546483 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2021-01-27T02:23:40.547907 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2021-01-27T02:23:40.593818 #1]  INFO -- : 文件 > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2021-01-27T02:23:40.595848 #1]  INFO -- : 文件 > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2021-01-27T02:23:40.595932 #1]  INFO -- : > echo postgres installed!
I, [2021-01-27T02:23:40.597420 #1]  INFO -- : postgres 已安装!

I, [2021-01-27T02:23:40.600831 #1]  INFO -- : 文件 > /etc/service/redis/run  chmod: +x  chown:
I, [2021-01-27T02:23:40.604240 #1]  INFO -- : 文件 > /etc/service/redis/log/run  chmod: +x  chown:
I, [2021-01-27T02:23:40.607627 #1]  INFO -- : 文件 > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2021-01-27T02:23:40.607771 #1]  INFO -- : 在 /etc/redis/redis.conf 中将 daemonize yes 替换为空
I, [2021-01-27T02:23:40.608189 #1]  INFO -- : 在 /etc/redis/redis.conf 中将 (?-mix:^pidfile.*$) 替换为空
I, [2021-01-27T02:23:40.609758 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2021-01-27T02:23:40.611653 #1]  INFO -- :
I, [2021-01-27T02:23:40.611895 #1]  INFO -- : 在 /etc/redis/redis.conf 中将 (?-mix:^logfile.*$) 替换为 logfile ""
I, [2021-01-27T02:23:40.612224 #1]  INFO -- : 在 /etc/redis/redis.conf 中将 (?-mix:^bind .*$) 替换为空
I, [2021-01-27T02:23:40.613276 #1]  INFO -- : 在 /etc/redis/redis.conf 中将 (?-mix:^dir .*$) 替换为 dir /shared/redis_data
I, [2021-01-27T02:23:40.614500 #1]  INFO -- : 在 /etc/redis/redis.conf 中将 (?-mix:^protected-mode yes) 替换为 protected-mode no
I, [2021-01-27T02:23:40.615551 #1]  INFO -- : 在 /etc/redis/redis.conf 中将 # io-threads 4 替换为 io-threads $redis_io_threads
I, [2021-01-27T02:23:40.616681 #1]  INFO -- : > echo redis installed
I, [2021-01-27T02:23:40.618206 #1]  INFO -- : redis 已安装

I, [2021-01-27T02:23:40.618336 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2021-01-27T02:23:40.621038 #1]  INFO -- : logfile ""

I, [2021-01-27T02:23:40.621135 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2021-01-27T02:23:40.622175 #1]  INFO -- : > sleep 10
168:C 27 Jan 2021 02:23:40.625 # oO0OoO0OoO0Oo Redis 正在启动 oO0OoO0OoO0Oo
168:C 27 Jan 2021 02:23:40.625 # Redis 版本=6.0.9, bits=64, commit=00000000, modified=0, pid=168, 刚刚启动
168:C 27 Jan 2021 02:23:40.625 # 配置已加载
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 6.0.9 (00000000/0) 64 位
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     以独立模式运行
 |`-._`-...-` __...-.``-._|'` _.-'|     端口:6379
 |    `-._   `._    /     _.-'    |     PID: 168
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

168:M 27 Jan 2021 02:23:40.626 # 警告:无法强制执行 TCP  backlog 设置 511,因为 /proc/sys/net/core/somaxconn 被设置为较低的值 128。
168:M 27 Jan 2021 02:23:40.626 # 服务器已初始化
168:M 27 Jan 2021 02:23:40.626 # 警告:overcommit_memory 设置为 0!在低内存条件下后台保存可能会失败。要解决此问题,请将 'vm.overcommit_memory = 1' 添加到 /etc/sysctl.conf,然后重启或运行命令 'sysctl vm.overcommit_memory=1' 使其生效。
168:M 27 Jan 2021 02:23:40.626 # 警告:您的内核启用了透明大页(THP)支持。这将导致 Redis 出现延迟和内存使用问题。要解决此问题,请以 root 身份运行命令 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled',并将其添加到 /etc/rc.local 以便在重启后保留该设置。必须在禁用 THP(设置为 'madvise' 或 'never')后重启 Redis。
168:M 27 Jan 2021 02:23:40.627 * 正在加载由版本 6.0.9 生成的 RDB
168:M 27 Jan 2021 02:23:40.627 * RDB 年龄 373062 秒
168:M 27 Jan 2021 02:23:40.627 * 创建时 RDB 内存使用量 0.77 Mb
168:M 27 Jan 2021 02:23:40.627 * 从磁盘加载数据库耗时:0.001 秒
168:M 27 Jan 2021 02:23:40.627 * 已准备好接受连接
I, [2021-01-27T02:23:50.624174 #1]  INFO -- :
I, [2021-01-27T02:23:50.624368 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2021-01-27T02:23:50.628194 #1]  INFO -- : thpoff 已安装!

I, [2021-01-27T02:23:50.628403 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2021-01-27T02:23:50.684626 #1]  INFO -- :
I, [2021-01-27T02:23:50.684797 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2021-01-27T02:23:50.740355 #1]  INFO -- :
I, [2021-01-27T02:23:50.740509 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2021-01-27T02:23:50.795416 #1]  INFO -- :
I, [2021-01-27T02:23:50.795561 #1]  INFO -- : > chown -R discourse /home/discourse
I, [2021-01-27T02:23:51.993394 #1]  INFO -- :
I, [2021-01-27T02:23:51.993649 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2021-01-27T02:23:51.996154 #1]  INFO -- :
I, [2021-01-27T02:23:51.998656 #1]  INFO -- : 文件 > /etc/cron.d/anacron  chmod:   chown:
I, [2021-01-27T02:23:52.002447 #1]  INFO -- : 文件 > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2021-01-27T02:23:52.005954 #1]  INFO -- : 文件 > /etc/service/unicorn/run  chmod: +x  chown:
I, [2021-01-27T02:23:52.009632 #1]  INFO -- : 文件 > /etc/service/nginx/run  chmod: +x  chown:
I, [2021-01-27T02:23:52.012917 #1]  INFO -- : 文件 > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2021-01-27T02:23:52.016214 #1]  INFO -- : 文件 > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2021-01-27T02:23:52.016297 #1]  INFO -- : 在 /etc/service/unicorn/run 中将 # postgres 替换为 sv start postgres || exit 1
I, [2021-01-27T02:23:52.016484 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2021-01-27T02:23:52.018137 #1]  INFO -- : > cd /var/www/discourse && git reset --hard
196:C 27 Jan 2021 02:23:52.022 # oO0OoO0OoO0Oo Redis 正在启动 oO0OoO0OoO0Oo
196:C 27 Jan 2021 02:23:52.022 # Redis 版本=6.0.9, bits=64, commit=00000000, modified=0, pid=196, 刚刚启动
196:C 27 Jan 2021 02:23:52.022 # 配置已加载
196:M 27 Jan 2021 02:23:52.022 # 无法创建服务器 TCP 监听套接字 *:6379: bind: 地址已在使用
正在检出文件:100% (28296/28296),完成。
I, [2021-01-27T02:23:53.939497 #1]  INFO -- : HEAD 现在位于 c4552e9c 修复:自动播放视频必须始终静音 (#11533)

I, [2021-01-27T02:23:53.939601 #1]  INFO -- : > cd /var/www/discourse && git clean -f
I, [2021-01-27T02:23:54.022025 #1]  INFO -- :
I, [2021-01-27T02:23:54.022124 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches --add origin master
I, [2021-01-27T02:23:54.025577 #1]  INFO -- :
I, [2021-01-27T02:23:54.025664 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches origin tests-passed
I, [2021-01-27T02:23:54.028750 #1]  INFO -- :
I, [2021-01-27T02:23:54.028832 #1]  INFO -- : > cd /var/www/discourse && git fetch --depth 1 origin tests-passed
来自 https://github.com/discourse/discourse
 * 分支              tests-passed -> FETCH_HEAD
 * [新分支]        tests-passed -> origin/tests-passed
I, [2021-01-27T02:23:57.285604 #1]  INFO -- :
I, [2021-01-27T02:23:57.285712 #1]  INFO -- : > cd /var/www/discourse && git checkout tests-passed
已切换到新分支 'tests-passed'
I, [2021-01-27T02:23:57.857114 #1]  INFO -- : 分支 'tests-passed' 已设置以跟踪来自 'origin' 的远程分支 'tests-passed'。

I, [2021-01-27T02:23:57.857221 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2021-01-27T02:23:57.860401 #1]  INFO -- :
I, [2021-01-27T02:23:57.860491 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2021-01-27T02:23:57.862857 #1]  INFO -- :
I, [2021-01-27T02:23:57.862925 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2021-01-27T02:23:57.865399 #1]  INFO -- :
I, [2021-01-27T02:23:57.865471 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2021-01-27T02:23:57.867854 #1]  INFO -- :
I, [2021-01-27T02:23:57.867922 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2021-01-27T02:23:57.870065 #1]  INFO -- :
I, [2021-01-27T02:23:57.870133 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2021-01-27T02:23:57.872299 #1]  INFO -- :
I, [2021-01-27T02:23:57.872361 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2021-01-27T02:23:57.875562 #1]  INFO -- :
I, [2021-01-27T02:23:57.875646 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2021-01-27T02:23:57.879076 #1]  INFO -- :
I, [2021-01-27T02:23:57.879144 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2021-01-27T02:23:57.882376 #1]  INFO -- :
I, [2021-01-27T02:23:57.882446 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2021-01-27T02:23:57.885522 #1]  INFO -- :
I, [2021-01-27T02:23:57.885613 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2021-01-27T02:23:57.888826 #1]  INFO -- :
I, [2021-01-27T02:23:57.888895 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2021-01-27T02:23:57.891921 #1]  INFO -- :
I, [2021-01-27T02:23:57.891999 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2021-01-27T02:23:57.894182 #1]  INFO -- :
I, [2021-01-27T02:23:57.894258 #1]  INFO -- : > cd /var/www/discourse && find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2021-01-27T02:23:57.896716 #1]  INFO -- :
I, [2021-01-27T02:23:57.896844 #1]  INFO -- : 在 /etc/service/unicorn/run 中将 # redis 替换为 sv start redis || exit 1
I, [2021-01-27T02:23:57.897125 #1]  INFO -- : > cd /var/www/discourse/plugins && mkdir -p plugins
I, [2021-01-27T02:23:57.899325 #1]  INFO -- :
I, [2021-01-27T02:23:57.899394 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
正在克隆到 'docker_manager'...
I, [2021-01-27T02:23:59.343670 #1]  INFO -- :
I, [2021-01-27T02:23:59.343784 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-solved.git
正在克隆到 'discourse-solved'...
I, [2021-01-27T02:24:00.242855 #1]  INFO -- :
I, [2021-01-27T02:24:00.242963 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-feature-voting.git
正在克隆到 'discourse-feature-voting'...
I, [2021-01-27T02:24:01.142839 #1]  INFO -- :
I, [2021-01-27T02:24:01.143097 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2021-01-27T02:24:01.145932 #1]  INFO -- :
I, [2021-01-27T02:24:01.146056 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2021-01-27T02:24:01.147930 #1]  INFO -- :
I, [2021-01-27T02:24:01.148013 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2021-01-27T02:24:01.149838 #1]  INFO -- :
I, [2021-01-27T02:24:01.150069 #1]  INFO -- : 在 /etc/nginx/nginx.conf 中将 pid /run/nginx.pid; 替换为 daemon off;
I, [2021-01-27T02:24:01.150307 #1]  INFO -- : 在 /etc/nginx/conf.d/discourse.conf 中将 (?m-ix:upstream[^\}]+\}) 替换为 upstream discourse { server 127.0.0.1:3000; }
I, [2021-01-27T02:24:01.150480 #1]  INFO -- : 在 /etc/nginx/conf.d/discourse.conf 中将 (?-mix:server_name.+$) 替换为 server_name _ ;
I, [2021-01-27T02:24:01.151135 #1]  INFO -- : 在 /etc/nginx/conf.d/discourse.conf 中将 (?-mix:client_max_body_size.+$) 替换为 client_max_body_size $upload_size ;
I, [2021-01-27T02:24:01.151717 #1]  INFO -- : > echo "done configuring web"
I, [2021-01-27T02:24:01.153224 #1]  INFO -- : 网页配置完成

I, [2021-01-27T02:24:01.153440 #1]  INFO -- : > cd /var/www/discourse && gem update bundler
I, [2021-01-27T02:24:05.839906 #1]  INFO -- : 正在更新已安装的 gem
正在更新 bundler
成功安装 bundler-2.2.7
已更新的 gem:bundler

第二部分

[2021-01-27T02:24:05.840013 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
    I, [2021-01-27T02:24:12.608457 #1]  INFO -- :
    I, [2021-01-27T02:24:12.608656 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development'
    [已弃用] `--deployment` 标志已弃用,因为它依赖于跨 bundler 调用被记住,而 bundler 在以后的版本中将不再这样做。请改用 `bundle config set --local deployment 'true'`,并停止使用此标志
    [已弃用] `--without` 标志已弃用,因为它依赖于跨 bundler 调用被记住,而 bundler 在以后的版本中将不再这样做。请改用 `bundle config set --local without 'test development'`,并停止使用此标志
    I, [2021-01-27T02:24:39.339048 #1]  INFO -- : 使用 bundler 2.2.7 运行 `bundle install --deployment --jobs 4 --retry 3 --verbose --without "test" "development"`
    已冻结,使用来自 lockfile 的解析结果
    定义中缺少 ["rake-13.0.3", "concurrent-ruby-1.1.8", "i18n-1.8.7", "minitest-5.14.3", "racc-1.5.2", "nokogiri-1.11.1-x86_64-linux", "loofah-2.9.0", "chunky_png-1.4.0", "css_parser-1.8.0", "thor-1.1.0", "faraday-net_http-1.0.1", "ruby2_keywords-0.0.4", "faraday-1.3.0", "fastimage-2.2.1", "ffi-1.14.2", "json-2.5.1", "logster-2.9.5", "sidekiq-6.1.3", "mini_sql-1.0.1", "mini_suffix-0.3.2", "oauth-0.5.5", "oj-3.11.1", "omniauth-oauth2-1.7.1", "sanitize-5.2.3", "onebox-2.2.2", "rack-mini-profiler-2.3.0", "rqrcode_core-0.2.0", "rqrcode-1.2.0", "unicorn-5.8.0"]
    HTTP GET https://index.rubygems.org/versions
    HTTP 206 Partial Content https://index.rubygems.org/versions
    HTTP GET https://index.rubygems.org/versions
    HTTP 200 OK https://index.rubygems.org/versions
    正在从 https://rubygems.org/ 获取 gem 元数据
    正在查找 gems ["rake", "concurrent-ruby", "i18n", "minitest", "thread_safe", "tzinfo", "zeitwerk", "activesupport", "builder", "erubi", "racc", "nokogiri", "rails-dom-testing", "crass", "loofah", "rails-html-sanitizer", "actionview", "rack", "rack-test", "actionpack", "globalid", "activejob", "mini_mime", "mail", "actionmailer", "actionview_precompiler", "activemodel", "active_model_serializers", "activerecord", "public_suffix", "addressable", "aws-eventstream", "aws-partitions", "aws-sigv4", "jmespath", "aws-sdk-core", "aws-sdk-kms", "aws-sdk-s3", "aws-sdk-sns", "ember-source", "execjs", "barber", "msgpack", "bootsnap", "byebug", "cbor", "chunky_png", "coderay", "colored2", "connection_pool", "openssl-signature_algorithm", "cose", "cppjieba_rb", "css_parser", "diffy", "ember-data-source", "sprockets", "ember-handlebars-template", "method_source", "thor", "railties", "jquery-rails", "discourse-ember-rails", "discourse-ember-source", "discourse-fonts", "exifr", "fspath", "image_size", "in_threads", "progress", "discourse_image_optim", "email_reply_trimmer", "excon", "faraday-net_http", "multipart-post", "ruby2_keywords", "faraday", "fast_blank", "fast_xs", "fastimage", "ffi", "gc_tracer", "guess_html_encoding", "hashie", "highline", "hkdf", "htmlentities", "http_accept_language", "json", "jwt", "kgio", "libv8", "request_store", "lograge", "logstash-event", "logstash-logger", "logster", "lru_redux", "lz4-ruby", "maxminddb", "memory_profiler", "message_bus", "mini_racer", "redis", "sidekiq", "mini_scheduler", "mini_sql", "mini_suffix", "multi_json", "multi_xml", "mustache", "nio4r", "nokogumbo", "oauth", "oauth2", "oj", "omniauth", "omniauth-oauth2", "omniauth-facebook", "omniauth-github", "omniauth-google-oauth2", "omniauth-oauth", "omniauth-twitter", "sanitize", "onebox", "optimist", "pg", "pry", "pry-byebug", "pry-rails", "puma", "r2", "rack-mini-profiler", "rack-protection", "rails_failover", "rails_multisite", "raindrops", "rbtrace", "rchardet", "redis-namespace", "rinku", "rotp", "rqrcode_core", "rqrcode", "rtlit", "ruby-readability", "rubyzip", "sassc", "sprockets-rails", "tilt", "sassc-rails", "seed-fu", "sshkey", "stackprof", "uglifier", "unf_ext", "unf", "unicorn", "webpush", "xorcist"]
    HTTP GET https://index.rubygems.org/info/racc
    HTTP GET https://index.rubygems.org/info/nokogiri
    HTTP GET https://index.rubygems.org/info/tzinfo
    HTTP GET https://index.rubygems.org/info/loofah
    HTTP GET https://index.rubygems.org/info/activemodel
    HTTP GET https://index.rubygems.org/info/activejob
    HTTP GET https://index.rubygems.org/info/concurrent-ruby
    HTTP GET https://index.rubygems.org/info/actionview
    HTTP GET https://index.rubygems.org/info/actionpack
    HTTP GET https://index.rubygems.org/info/i18n
    HTTP 200 OK https://index.rubygems.org/info/racc
    HTTP GET https://index.rubygems.org/info/activesupport
    HTTP GET https://index.rubygems.org/info/css_parser
    HTTP GET https://index.rubygems.org/info/actionmailer
    HTTP GET https://index.rubygems.org/info/minitest
    HTTP GET https://index.rubygems.org/info/aws-sdk-s3
    HTTP 206 Partial Content https://index.rubygems.org/info/actionview
    HTTP GET https://index.rubygems.org/info/aws-sdk-kms
    HTTP GET https://index.rubygems.org/info/activerecord
    HTTP GET https://index.rubygems.org/info/aws-partitions
    HTTP GET https://index.rubygems.org/info/aws-sdk-sns
    HTTP GET https://index.rubygems.org/info/aws-sdk-core
    HTTP GET https://index.rubygems.org/info/chunky_png
    HTTP GET https://index.rubygems.org/info/msgpack
    HTTP 206 Partial Content https://index.rubygems.org/info/i18n
    HTTP 206 Partial Content https://index.rubygems.org/info/nokogiri
    HTTP 206 Partial Content https://index.rubygems.org/info/activemodel
    HTTP 206 Partial Content https://index.rubygems.org/info/activejob
    HTTP 206 Partial Content https://index.rubygems.org/info/tzinfo
    HTTP 206 Partial Content https://index.rubygems.org/info/loofah
    HTTP 206 Partial Content https://index.rubygems.org/info/css_parser
    HTTP 206 Partial Content https://index.rubygems.org/info/aws-sdk-kms
    HTTP 206 Partial Content https://index.rubygems.org/info/activesupport
    HTTP GET https://index.rubygems.org/info/thor
    HTTP GET https://index.rubygems.org/info/railties
    HTTP 206 Partial Content https://index.rubygems.org/info/actionmailer
    HTTP 206 Partial Content https://index.rubygems.org/info/aws-partitions
    HTTP 206 Partial Content https://index.rubygems.org/info/chunky_png
    HTTP 206 Partial Content https://index.rubygems.org/info/aws-sdk-sns
    HTTP 206 Partial Content https://index.rubygems.org/info/actionpack
    HTTP 206 Partial Content https://index.rubygems.org/info/concurrent-ruby
    HTTP GET https://index.rubygems.org/info/faraday-net_http
    HTTP 206 Partial Content https://index.rubygems.org/info/railties
    HTTP 206 Partial Content https://index.rubygems.org/info/aws-sdk-s3
    HTTP 206 Partial Content https://index.rubygems.org/info/aws-sdk-core
    HTTP 206 Partial Content https://index.rubygems.org/info/activerecord
    HTTP 206 Partial Content https://index.rubygems.org/info/minitest
    HTTP 206 Partial Content https://index.rubygems.org/info/thor
    HTTP GET https://index.rubygems.org/info/ruby2_keywords
    HTTP GET https://index.rubygems.org/info/faraday
    HTTP 206 Partial Content https://index.rubygems.org/info/ruby2_keywords
    HTTP 206 Partial Content https://index.rubygems.org/info/msgpack
    HTTP GET https://index.rubygems.org/info/fastimage
    HTTP 200 OK https://index.rubygems.org/info/faraday-net_http
    HTTP 206 Partial Content https://index.rubygems.org/info/faraday
    HTTP GET https://index.rubygems.org/info/json
    HTTP 206 Partial Content https://index.rubygems.org/info/json
    HTTP GET https://index.rubygems.org/info/logster
    HTTP GET https://index.rubygems.org/info/mini_suffix
    HTTP GET https://index.rubygems.org/info/rack-mini-profiler
    HTTP 206 Partial Content https://index.rubygems.org/info/fastimage
    HTTP GET https://index.rubygems.org/info/mini_sql
    HTTP GET https://index.rubygems.org/info/oauth
    HTTP GET https://index.rubygems.org/info/sidekiq
    HTTP GET https://index.rubygems.org/info/omniauth-oauth2
    HTTP 206 Partial Content https://index.rubygems.org/info/rack-mini-profiler
    HTTP GET https://index.rubygems.org/info/omniauth-github
    HTTP GET https://index.rubygems.org/info/omniauth
    HTTP GET https://index.rubygems.org/info/onebox
    HTTP GET https://index.rubygems.org/info/oj
    HTTP GET https://index.rubygems.org/info/sanitize
    HTTP 206 Partial Content https://index.rubygems.org/info/logster
    HTTP 206 Partial Content https://index.rubygems.org/info/oj
    HTTP 206 Partial Content https://index.rubygems.org/info/omniauth
    HTTP 206 Partial Content https://index.rubygems.org/info/mini_suffix
    HTTP 206 Partial Content https://index.rubygems.org/info/omniauth-github
    HTTP GET https://index.rubygems.org/info/rqrcode
    HTTP GET https://index.rubygems.org/info/rqrcode_core
    HTTP 206 Partial Content https://index.rubygems.org/info/mini_sql
    HTTP GET https://index.rubygems.org/info/unicorn
    HTTP 206 Partial Content https://index.rubygems.org/info/sanitize
    HTTP 206 Partial Content https://index.rubygems.org/info/omniauth-oauth2
    HTTP 206 Partial Content https://index.rubygems.org/info/oauth
    HTTP 206 Partial Content https://index.rubygems.org/info/rqrcode_core
    HTTP 206 Partial Content https://index.rubygems.org/info/rqrcode
    HTTP 206 Partial Content https://index.rubygems.org/info/sidekiq
    HTTP 206 Partial Content https://index.rubygems.org/info/unicorn
    HTTP 206 Partial Content https://index.rubygems.org/info/onebox
    正在查找 gems ["rails-deprecated_sanitizer", "atomic", "mime-types", "treetop", "tlsmail", "rspec", "json_pure", "jsonapi", "case_transform", "jsonapi-renderer", "ember-template-compiler-source", "handlebars-source", "columnize", "debugger-linecache", "slop", "rb-readline", "snappy", "hike", "ruby_parser", "rails", "hoe", "weakling", "mini_portile", "mini_portile2", "pkg-config", "rb-appscript", "xattr", "ffi-xattr", "bcrypt-ruby", "erubis", "rake-compiler", "activemodel-globalid", "functional-ruby", "ref", "memcache-client", "termios", "text-format", "rdoc", "stud", "eventmachine", "thin", "faraday-middleware", "httpauth", "rack-mount", "rack-cache", "journey", "jamespath", "http-2", "win32console", "yard", "spoon", "arel", "activerecord-deprecated_finders", "pry-doc", "listen", "escape_utils", "trollop", "rack-ssl", "base32", "sass", "bundler", "therubyracer", "bigdecimal", "oa-core", "oa-oauth", "oa-openid", "oa-basic", "oa-enterprise", "oa-more", "hpricot", "ruby-hmac", "celluloid", "compass", "sprockets-sass", "sinatra", "slim", "moneta", "opengraph_parser", "verbal_expressions", "hexpress", "pdf-reader"]
    HTTP GET https://index.rubygems.org/info/hoe
    HTTP GET https://index.rubygems.org/info/json_pure
    HTTP 206 Partial Content https://index.rubygems.org/info/hoe
    HTTP 206 Partial Content https://index.rubygems.org/info/json_pure
    HTTP GET https://index.rubygems.org/info/snappy
    HTTP GET https://index.rubygems.org/info/rails
    HTTP GET https://index.rubygems.org/info/ruby_parser
    HTTP GET https://index.rubygems.org/info/http-2
    HTTP GET https://index.rubygems.org/info/yard
    HTTP GET https://index.rubygems.org/info/bundler
    HTTP GET https://index.rubygems.org/info/listen
    HTTP 206 Partial Content https://index.rubygems.org/info/snappy
    HTTP 206 Partial Content https://index.rubygems.org/info/rails
    HTTP 206 Partial Content https://index.rubygems.org/info/ruby_parser
    HTTP 206 Partial Content https://index.rubygems.org/info/yard
    HTTP 206 Partial Content https://index.rubygems.org/info/http-2
    HTTP 206 Partial Content https://index.rubygems.org/info/bundler
    HTTP 206 Partial Content https://index.rubygems.org/info/listen
    正在查找 gems ["mime-types-data", "ruby_core_source", "debugger-ruby_core_source", "facets", "polyglot", "jsonapi-parser", "rspec-core", "rspec-expectations", "rspec-mocks", "bcrypt", "abstract", "text-hyphen", "multimap", "ZenTest", "RubyInline", "daemons", "metriks", "rack-openid", "ruby-openid-apps-discovery", "restclient", "rest-client", "curses", "sass-listen", "net-ldap", "rubyntlm", "pyu-ruby-sasl", "uuid", "XMLCanonicalizer", "timers", "facter", "celluloid-essentials", "celluloid-extras", "celluloid-fsm", "celluloid-pool", "celluloid-supervision", "dotenv", "nenv", "rspec-logsplit", "Ascii85", "ruby-rc4", "hashery", "afm", "ttfunk", "haml", "fssm", "compass-core", "compass-import-once", "rb-fsevent", "rb-inotify", "sprockets-helpers", "mongrel", "backports", "mustermann", "temple", "rubyforge", "gemcutter", "spruz", "snappy-jars", "activeresource", "actionwebservice", "actioncable", "activestorage", "actionmailbox", "actiontext", "ParseTree", "sexp_processor", "rb-fchange", "rb-kqueue", "celluloid-io", "ruby_dep"]
    HTTP GET https://index.rubygems.org/info/rspec-core
    HTTP GET https://index.rubygems.org/info/rspec-mocks
    HTTP GET https://index.rubygems.org/info/rspec-expectations
    HTTP 206 Partial Content https://index.rubygems.org/info/rspec-core
    HTTP GET https://index.rubygems.org/info/ttfunk
    HTTP GET https://index.rubygems.org/info/facter
    HTTP GET https://index.rubygems.org/info/activestorage
    HTTP GET https://index.rubygems.org/info/actionmailbox
    HTTP GET https://index.rubygems.org/info/actiontext
    HTTP 206 Partial Content https://index.rubygems.org/info/rspec-mocks
    HTTP GET https://index.rubygems.org/info/backports
    HTTP GET https://index.rubygems.org/info/actioncable
    HTTP GET https://index.rubygems.org/info/sexp_processor
    HTTP 206 Partial Content https://index.rubygems.org/info/ttfunk
    HTTP 206 Partial Content https://index.rubygems.org/info/rspec-expectations
    HTTP 206 Partial Content https://index.rubygems.org/info/facter
    HTTP 206 Partial Content https://index.rubygems.org/info/activestorage
    HTTP 206 Partial Content https://index.rubygems.org/info/actionmailbox
    HTTP 206 Partial Content https://index.rubygems.org/info/actiontext
    HTTP 206 Partial Content https://index.rubygems.org/info/actioncable
    HTTP 206 Partial Content https://index.rubygems.org/info/sexp_processor
    HTTP 206 Partial Content https://index.rubygems.org/info/backports
    正在查找 gems ["ruby-openid", "archive-tar-minitar", "hitimes", "rbtree", "faraday_middleware", "yajl-ruby", "avl_tree", "netrc", "http-cookie", "http-accept", "log4r", "macaddr", "coveralls", "rubocop", "celluloid-gems", "dotenv-deployment", "blankslate", "cgi_multipart_eof_fix", "fastthread", "gem_plugin", "tool", "net-scp", "rails-observers", "activemodel-serializers-xml", "SexpProcessor", "win32-api", "rspec-support", "diff-lcs", "CFPropertyList", "sys-admin", "win32-dir", "windows-api", "windows-pr", "win32-security", "hocon", "marcel", "mimemagic", "coffee-rails", "em-hiredis", "faye-websocket", "websocket-driver"]
    HTTP GET https://index.rubygems.org/info/rbtree
    HTTP GET https://index.rubygems.org/info/rubocop
    HTTP GET https://index.rubygems.org/info/rspec-support
    HTTP GET https://index.rubygems.org/info/sys-admin
    HTTP 206 Partial Content https://index.rubygems.org/info/rubocop
    HTTP 206 Partial Content https://index.rubygems.org/info/sys-admin
    HTTP 206 Partial Content https://index.rubygems.org/info/rbtree
    HTTP 206 Partial Content https://index.rubygems.org/info/rspec-support
    正在查找 gems ["ruby-yadis", "configuration", "mkrf", "roauth", "domain_name", "sqlite3", "test-unit", "minitar", "minitar-cli", "systemu", "net-ssh", "colorize", "simplecov", "term-ansicolor", "tins", "coffee-script", "ffi-win32-extensions", "libxml-ruby", "hiredis", "websocket-extensions", "rainbow", "parser", "powerpack", "ruby-progressbar", "astrolabe", "unicode-display_width", "parallel", "jaro_winkler", "psych", "rexml", "rubocop-ast", "regexp_parser"]
    HTTP GET https://index.rubygems.org/info/simplecov
    HTTP GET https://index.rubygems.org/info/parser
    HTTP GET https://index.rubygems.org/info/unicode-display_width
    HTTP GET https://index.rubygems.org/info/ruby-progressbar
    HTTP GET https://index.rubygems.org/info/tins
    HTTP GET https://index.rubygems.org/info/test-unit
    HTTP GET https://index.rubygems.org/info/psych
    HTTP GET https://index.rubygems.org/info/rubocop-ast
    HTTP GET https://index.rubygems.org/info/regexp_parser
    HTTP 206 Partial Content https://index.rubygems.org/info/simplecov
    HTTP 206 Partial Content https://index.rubygems.org/info/rubocop-ast
    HTTP 206 Partial Content https://index.rubygems.org/info/unicode-display_width
    HTTP 206 Partial Content https://index.rubygems.org/info/ruby-progressbar
    HTTP 206 Partial Content https://index.rubygems.org/info/regexp_parser
    HTTP 206 Partial Content https://index.rubygems.org/info/parser
    HTTP 206 Partial Content https://index.rubygems.org/info/test-unit
    HTTP 206 Partial Content https://index.rubygems.org/info/tins
    HTTP 206 Partial Content https://index.rubygems.org/info/psych
    正在查找 gems ["powerbar", "needle", "jruby-pageant", "bcrypt_pbkdf", "rbnacl", "rbnacl-libsodium", "coffee-script-source", "simplecov-html", "docile", "lockfile", "simplecov_json_formatter", "strscan", "ast", "jar-dependencies", "power_assert", "sync"]
    HTTP GET https://index.rubygems.org/info/docile
    HTTP GET https://index.rubygems.org/info/bcrypt_pbkdf
    HTTP GET https://index.rubygems.org/info/ast
    HTTP GET https://index.rubygems.org/info/power_assert
    HTTP 206 Partial Content https://index.rubygems.org/info/docile
    HTTP 206 Partial Content https://index.rubygems.org/info/bcrypt_pbkdf
    HTTP 206 Partial Content https://index.rubygems.org/info/ast
    HTTP 206 Partial Content https://index.rubygems.org/info/power_assert
    正在查找 gems ["ruby-maven", "ansi", "pattern-match"]
    正在查找 gems ["maven-tools", "ruby-maven-libs"]
    正在查找 gems ["virtus"]
    正在查找 gems ["descendants_tracker", "axiom-types", "coercible", "equalizer"]
    正在查找 gems ["adamantium", "ice_nine"]
    正在查找 gems ["memoizable"]
    正在获取 rake 13.0.3
    正在安装 rake 13.0.3
    0:  rake (13.0.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rake-13.0.3.gemspec
    使用 thread_safe 0.3.6
    使用 zeitwerk 2.4.2
    3:  thread_safe (0.3.6) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/thread_safe-0.3.6.gemspec
    正在获取 minitest 5.14.3
    使用 builder 3.2.4
    0:  zeitwerk (2.4.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/zeitwerk-2.4.2.gemspec
    使用 erubi 1.10.0
    正在获取 concurrent-ruby 1.1.8
    0:  erubi (1.10.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/erubi-1.10.0.gemspec
    3:  builder (3.2.4) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/builder-3.2.4.gemspec
    正在获取 racc 1.5.2
    使用 crass 1.0.6
    0:  crass (1.0.6) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/crass-1.0.6.gemspec
    使用 rack 2.2.3
    0:  rack (2.2.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rack-2.2.3.gemspec
    使用 mini_mime 1.0.2
    0:  mini_mime (1.0.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_mime-1.0.2.gemspec
    使用 public_suffix 4.0.6
    0:  public_suffix (4.0.6) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/public_suffix-4.0.6.gemspec
    使用 aws-eventstream 1.1.0
    0:  aws-eventstream (1.1.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-eventstream-1.1.0.gemspec
    使用 aws-partitions 1.390.0
    0:  aws-partitions (1.390.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-partitions-1.390.0.gemspec
    使用 jmespath 1.4.0
    0:  jmespath (1.4.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/jmespath-1.4.0.gemspec
    使用 ember-source 2.18.2
    0:  ember-source (2.18.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ember-source-2.18.2.gemspec
    使用 execjs 2.7.0
    0:  execjs (2.7.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/execjs-2.7.0.gemspec
    使用 msgpack 1.3.3
    0:  msgpack (1.3.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/msgpack-1.3.3.gemspec
    使用 bundler 2.2.7
    0:  bundler (2.2.7) 来自 /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/source
    使用 byebug 11.1.3
    0:  byebug (11.1.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/byebug-11.1.3.gemspec
    使用 cbor 0.5.9.6
    0:  cbor (0.5.9.6) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/cbor-0.5.9.6.gemspec
    正在获取 chunky_png 1.4.0
    正在安装 minitest 5.14.3
    正在安装 concurrent-ruby 1.1.8
    正在安装带有原生扩展的 racc 1.5.2
    正在安装 chunky_png 1.4.0
    2:  minitest (5.14.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/minitest-5.14.3.gemspec
    使用 coderay 1.1.3
    2:  coderay (1.1.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/coderay-1.1.3.gemspec
    使用 colored2 3.1.2
    2:  colored2 (3.1.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/colored2-3.1.2.gemspec
    使用 connection_pool 2.2.3
    2:  connection_pool (2.2.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/connection_pool-2.2.3.gemspec
    使用 openssl-signature_algorithm 1.0.0
    2:  openssl-signature_algorithm (1.0.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/openssl-signature_algorithm-1.0.0.gemspec
    使用 cppjieba_rb 0.3.3
    2:  cppjieba_rb (0.3.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/cppjieba_rb-0.3.3.gemspec
    使用 diffy 3.4.0
    2:  diffy (3.4.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/diffy-3.4.0.gemspec
    使用 method_source 1.0.0
    2:  method_source (1.0.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/method_source-1.0.0.gemspec
    正在获取 thor 1.1.0
    正在安装 thor 1.1.0
    正在构建原生扩展。这可能需要一段时间...
    1:  concurrent-ruby (1.1.8) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/concurrent-ruby-1.1.8.gemspec
    2:  thor (1.1.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/thor-1.1.0.gemspec
    使用 discourse-ember-source 3.12.2.2
    1:  discourse-ember-source (3.12.2.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/discourse-ember-source-3.12.2.2.gemspec
    使用 discourse-fonts 0.0.5
    使用 exifr 1.3.9
    2:  exifr (1.3.9) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/exifr-1.3.9.gemspec
    使用 fspath 3.1.2
    2:  fspath (3.1.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/fspath-3.1.2.gemspec
    使用 image_size 1.5.0
    2:  image_size (1.5.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/image_size-1.5.0.gemspec
    使用 in_threads 1.5.4
    2:  in_threads (1.5.4) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/in_threads-1.5.4.gemspec
    使用 progress 3.5.2
    2:  progress (3.5.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/progress-3.5.2.gemspec
    使用 email_reply_trimmer 0.1.13
    2:  email_reply_trimmer (0.1.13) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/email_reply_trimmer-0.1.13.gemspec
    使用 excon 0.78.1
    2:  excon (0.78.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/excon-0.78.1.gemspec
    1:  discourse-fonts (0.0.5) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/discourse-fonts-0.0.5.gemspec
    使用 multipart-post 2.1.1
    1:  multipart-post (2.1.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/multipart-post-2.1.1.gemspec
    正在获取 ruby2_keywords 0.0.4
    正在获取 faraday-net_http 1.0.1
    正在安装 faraday-net_http 1.0.1
    正在安装 ruby2_keywords 0.0.4
    2:  faraday-net_http (1.0.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/faraday-net_http-1.0.1.gemspec
    1:  ruby2_keywords (0.0.4) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ruby2_keywords-0.0.4.gemspec
    使用 fast_blank 1.0.0
    2:  fast_blank (1.0.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/fast_blank-1.0.0.gemspec
    使用 fast_xs 0.8.0
    2:  fast_xs (0.8.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/fast_xs-0.8.0.gemspec
    正在获取 fastimage 2.2.1
    正在获取 ffi 1.14.2
    正在安装 fastimage 2.2.1
    0:  chunky_png (1.4.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/chunky_png-1.4.0.gemspec
    使用 gc_tracer 1.5.1
    0:  gc_tracer (1.5.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/gc_tracer-1.5.1.gemspec
    使用 guess_html_encoding 0.0.11
    0:  guess_html_encoding (0.0.11) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/guess_html_encoding-0.0.11.gemspec
    使用 hashie 4.1.0
    0:  hashie (4.1.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/hashie-4.1.0.gemspec
    使用 highline 2.0.3
    0:  highline (2.0.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/highline-2.0.3.gemspec
    使用 hkdf 0.3.0
    0:  hkdf (0.3.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/hkdf-0.3.0.gemspec
    使用 htmlentities 4.3.4
    0:  htmlentities (4.3.4) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/htmlentities-4.3.4.gemspec
    使用 http_accept_language 2.1.1
    0:  http_accept_language (2.1.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/http_accept_language-2.1.1.gemspec
    2:  fastimage (2.2.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/fastimage-2.2.1.gemspec
    使用 jwt 2.2.2
    正在获取 json 2.5.1
    2:  jwt (2.2.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/jwt-2.2.2.gemspec
    使用 kgio 2.11.3
    2:  kgio (2.11.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/kgio-2.11.3.gemspec
    使用 libv8 8.4.255.0 (x86_64-linux)
    2:  libv8 (8.4.255.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/libv8-8.4.255.0-x86_64-linux.gemspec
    使用 logstash-event 1.2.02
    2:  logstash-event (1.2.02) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/logstash-event-1.2.02.gemspec
    正在获取 logster 2.9.5
    正在安装带有原生扩展的 ffi 1.14.2
    正在安装带有原生扩展的 json 2.5.1
    正在安装 logster 2.9.5
    正在构建原生扩展。这可能需要一段时间...
    3:  racc (1.5.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/racc-1.5.2.gemspec
    2:  logster (2.9.5) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/logster-2.9.5.gemspec
    使用 lru_redux 1.1.0
    3:  lru_redux (1.1.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/lru_redux-1.1.0.gemspec
    使用 lz4-ruby 0.3.3
    3:  lz4-ruby (0.3.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/lz4-ruby-0.3.3.gemspec
    使用 maxminddb 0.1.22
    3:  maxminddb (0.1.22) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/maxminddb-0.1.22.gemspec
    使用 memory_profiler 1.0.0
    3:  memory_profiler (1.0.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/memory_profiler-1.0.0.gemspec
    使用 redis 4.2.5
    3:  redis (4.2.5) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/redis-4.2.5.gemspec
    使用 multi_json 1.15.0
    2:  multi_json (1.15.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/multi_json-1.15.0.gemspec
    使用 multi_xml 0.6.0
    2:  multi_xml (0.6.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/multi_xml-0.6.0.gemspec
    使用 mustache 1.1.1
    2:  mustache (1.1.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mustache-1.1.1.gemspec
    使用 nio4r 2.5.4
    获取 mini_sql 1.0.1
    2:  nio4r (2.5.4) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/nio4r-2.5.4.gemspec
    获取 oauth 0.5.5
    安装 oauth 0.5.5
    安装 mini_sql 1.0.1
    3:  mini_sql (1.0.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_sql-1.0.1.gemspec
    2:  oauth (0.5.5) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/oauth-0.5.5.gemspec
    使用 optimist 3.0.1
    2:  optimist (3.0.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/optimist-3.0.1.gemspec
    使用 pg 1.2.3
    获取 oj 3.11.1
    2:  pg (1.2.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/pg-1.2.3.gemspec
    使用 r2 0.2.7
    2:  r2 (0.2.7) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/r2-0.2.7.gemspec
    使用 raindrops 0.19.1
    2:  raindrops (0.19.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/raindrops-0.19.1.gemspec
    使用 rchardet 1.8.0
    2:  rchardet (1.8.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rchardet-1.8.0.gemspec
    使用 rinku 2.0.6
    2:  rinku (2.0.6) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rinku-2.0.6.gemspec
    使用 rotp 6.2.0
    2:  rotp (6.2.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rotp-6.2.0.gemspec
    获取 rqrcode_core 0.2.0
    安装 rqrcode_core 0.2.0
    安装 oj 3.11.1(带有原生扩展)
    2:  rqrcode_core (0.2.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rqrcode_core-0.2.0.gemspec
    使用 rtlit 0.0.5
    2:  rtlit (0.0.5) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rtlit-0.0.5.gemspec
    使用 rubyzip 2.3.0
    2:  rubyzip (2.3.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rubyzip-2.3.0.gemspec
    使用 tilt 2.0.10
    2:  tilt (2.0.10) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/tilt-2.0.10.gemspec
    使用 sshkey 2.0.0
    2:  sshkey (2.0.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sshkey-2.0.0.gemspec
    使用 stackprof 0.2.16
    2:  stackprof (0.2.16) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/stackprof-0.2.16.gemspec
    使用 unf_ext 0.0.7.7
    2:  unf_ext (0.0.7.7) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/unf_ext-0.0.7.7.gemspec
    使用 xorcist 1.1.2
    2:  xorcist (1.1.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/xorcist-1.1.2.gemspec
    使用 tzinfo 1.2.9
    2:  tzinfo (1.2.9) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/tzinfo-1.2.9.gemspec
    使用 rack-test 1.1.0
    2:  rack-test (1.1.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rack-test-1.1.0.gemspec
    使用 request_store 1.5.0
    2:  request_store (1.5.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/request_store-1.5.0.gemspec
    使用 message_bus 3.3.4
    2:  message_bus (3.3.4) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/message_bus-3.3.4.gemspec
    获取 rack-mini-profiler 2.3.0
    安装 rack-mini-profiler 2.3.0
    正在构建原生扩展。这可能需要一段时间...
    正在构建原生扩展。这可能需要一段时间...
    2:  rack-mini-profiler (2.3.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rack-mini-profiler-2.3.0.gemspec
    使用 rack-protection 2.1.0
    2:  rack-protection (2.1.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rack-protection-2.1.0.gemspec
    使用 mail 2.7.1
    2:  mail (2.7.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mail-2.7.1.gemspec
    使用 addressable 2.7.0
    2:  addressable (2.7.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/addressable-2.7.0.gemspec
    使用 aws-sigv4 1.2.2
    2:  aws-sigv4 (1.2.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-sigv4-1.2.2.gemspec
    使用 ember-data-source 3.0.2
    2:  ember-data-source (3.0.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ember-data-source-3.0.2.gemspec
    使用 barber 0.12.2
    2:  barber (0.12.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/barber-0.12.2.gemspec
    使用 uglifier 4.2.0
    2:  uglifier (4.2.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/uglifier-4.2.0.gemspec
    使用 bootsnap 1.5.1
    2:  bootsnap (1.5.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/bootsnap-1.5.1.gemspec
    使用 cose 1.2.0
    2:  cose (1.2.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/cose-1.2.0.gemspec
    使用 pry 0.13.1
    2:  pry (0.13.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/pry-0.13.1.gemspec
    获取 i18n 1.8.7
    安装 i18n 1.8.7

    注意!i18n 1.1 更改了回退机制,不再包含默认语言环境。
    但这可能会破坏您的应用程序。

    如果您正在将 Rails 应用程序从旧版本的 Rails 升级:

    请检查您的 Rails 应用中是否有 'config.i18n.fallbacks = true'。
    如果您使用的是 I18n (>= 1.1.0) 和 Rails (< 5.2.2),这应该改为
    'config.i18n.fallbacks = [I18n.default_locale]'。
    否则,您的应用中的回退机制将被 I18n 1.1.x 破坏。

    如果您正在启动一个新的 Rails 应用程序,可以忽略此通知。

    更多信息请参阅:
    https://github.com/svenfuchs/i18n/releases/tag/v1.1.0

    2:  i18n (1.8.7) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/i18n-1.8.7.gemspec
    使用 sprockets 3.7.2
    2:  sprockets (3.7.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sprockets-3.7.2.gemspec
    使用 discourse_image_optim 0.26.2
    2:  discourse_image_optim (0.26.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/discourse_image_optim-0.26.2.gemspec
    获取 faraday 1.3.0
    安装 faraday 1.3.0
    2:  faraday (1.3.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/faraday-1.3.0.gemspec
    使用 omniauth 1.9.1
    2:  omniauth (1.9.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-1.9.1.gemspec
    使用 webpush 1.1.0
    2:  webpush (1.1.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/webpush-1.1.0.gemspec
    使用 mini_racer 0.3.1
    2:  mini_racer (0.3.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_racer-0.3.1.gemspec
    使用 logstash-logger 0.26.1
    2:  logstash-logger (0.26.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/logstash-logger-0.26.1.gemspec
    获取 nokogiri 1.11.1 (x86_64-linux)
    安装 nokogiri 1.11.1 (x86_64-linux)
    2:  nokogiri (1.11.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/nokogiri-1.11.1-x86_64-linux.gemspec
    获取 sidekiq 6.1.3
    安装 sidekiq 6.1.3
    2:  sidekiq (6.1.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sidekiq-6.1.3.gemspec
    0:  json (2.5.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/json-2.5.1.gemspec
    使用 redis-namespace 1.8.0
    2:  redis-namespace (1.8.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/redis-namespace-1.8.0.gemspec
    使用 puma 5.1.1
    2:  puma (5.1.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/puma-5.1.1.gemspec
    获取 unicorn 5.8.0
    获取 rqrcode 1.2.0
    安装 rqrcode 1.2.0
    安装 unicorn 5.8.0(带有原生扩展)
    0:  rqrcode (1.2.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rqrcode-1.2.0.gemspec
    使用 unf 0.1.4
    0:  unf (0.1.4) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/unf-0.1.4.gemspec
    使用 aws-sdk-core 3.109.2
    0:  aws-sdk-core (3.109.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-sdk-core-3.109.2.gemspec
    获取 css_parser 1.8.0
    安装 css_parser 1.8.0
    正在构建原生扩展。这可能需要一段时间...
    0:  css_parser (1.8.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/css_parser-1.8.0.gemspec
    使用 pry-byebug 3.9.0
    0:  pry-byebug (3.9.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/pry-byebug-3.9.0.gemspec
    使用 pry-rails 0.3.9
    0:  pry-rails (0.3.9) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/pry-rails-0.3.9.gemspec
    使用 activesupport 6.0.3.3
    0:  activesupport (6.0.3.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/activesupport-6.0.3.3.gemspec
    使用 ember-handlebars-template 0.8.0
    0:  ember-handlebars-template (0.8.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ember-handlebars-template-0.8.0.gemspec
    使用 oauth2 1.4.4
    0:  oauth2 (1.4.4) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/oauth2-1.4.4.gemspec
    使用 omniauth-oauth 1.1.0
    0:  omniauth-oauth (1.1.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-oauth-1.1.0.gemspec
    获取 loofah 2.9.0
    安装 loofah 2.9.0
    0:  loofah (2.9.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/loofah-2.9.0.gemspec
    使用 nokogumbo 2.0.4
    0:  nokogumbo (2.0.4) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/nokogumbo-2.0.4.gemspec
    使用 ruby-readability 0.7.0
    0:  ruby-readability (0.7.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ruby-readability-0.7.0.gemspec
    使用 mini_scheduler 0.13.0
    0:  mini_scheduler (0.13.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_scheduler-0.13.0.gemspec
    使用 aws-sdk-kms 1.39.0
    0:  aws-sdk-kms (1.39.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-sdk-kms-1.39.0.gemspec
    使用 aws-sdk-sns 1.35.0
    0:  aws-sdk-sns (1.35.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-sdk-sns-1.35.0.gemspec
    使用 rails-dom-testing 2.0.3
    0:  rails-dom-testing (2.0.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rails-dom-testing-2.0.3.gemspec
    使用 globalid 0.4.2
    0:  globalid (0.4.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/globalid-0.4.2.gemspec
    使用 activemodel 6.0.3.3
    0:  activemodel (6.0.3.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/activemodel-6.0.3.3.gemspec
    获取 omniauth-oauth2 1.7.1
    安装 omniauth-oauth2 1.7.1
    0:  omniauth-oauth2 (1.7.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-oauth2-1.7.1.gemspec
    使用 omniauth-twitter 1.4.0
    0:  omniauth-twitter (1.4.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-twitter-1.4.0.gemspec
    使用 rails-html-sanitizer 1.3.0
    0:  rails-html-sanitizer (1.3.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rails-html-sanitizer-1.3.0.gemspec
    使用 activejob 6.0.3.3
    0:  activejob (6.0.3.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/activejob-6.0.3.3.gemspec
    使用 active_model_serializers 0.8.4
    0:  active_model_serializers (0.8.4) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/active_model_serializers-0.8.4.gemspec
    使用 activerecord 6.0.3.3
    0:  activerecord (6.0.3.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/activerecord-6.0.3.3.gemspec
    使用 aws-sdk-s3 1.83.2
    0:  aws-sdk-s3 (1.83.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-sdk-s3-1.83.2.gemspec
    获取 sanitize 5.2.3
    安装 sanitize 5.2.3
    0:  sanitize (5.2.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sanitize-5.2.3.gemspec
    使用 actionview 6.0.3.3
    0:  actionview (6.0.3.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/actionview-6.0.3.3.gemspec
    使用 omniauth-facebook 8.0.0
    0:  omniauth-facebook (8.0.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-facebook-8.0.0.gemspec
    使用 omniauth-github 1.4.0
    0:  omniauth-github (1.4.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-github-1.4.0.gemspec
    使用 omniauth-google-oauth2 0.8.1
    0:  omniauth-google-oauth2 (0.8.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-google-oauth2-0.8.1.gemspec
    使用 seed-fu 2.3.9
    0:  seed-fu (2.3.9) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/seed-fu-2.3.9.gemspec
    获取 onebox 2.2.2
    安装 onebox 2.2.2
    0:  onebox (2.2.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/onebox-2.2.2.gemspec
    使用 actionpack 6.0.3.3
    0:  actionpack (6.0.3.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/actionpack-6.0.3.3.gemspec
    使用 actionview_precompiler 0.2.3
    0:  actionview_precompiler (0.2.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/actionview_precompiler-0.2.3.gemspec
    使用 actionmailer 6.0.3.3
    0:  actionmailer (6.0.3.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/actionmailer-6.0.3.3.gemspec
    使用 railties 6.0.3.3
    0:  railties (6.0.3.3) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/railties-6.0.3.3.gemspec
    使用 rails_failover 0.6.5
    0:  rails_failover (0.6.5) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rails_failover-0.6.5.gemspec
    使用 rails_multisite 2.5.0
    0:  rails_multisite (2.5.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rails_multisite-2.5.0.gemspec
    使用 sprockets-rails 3.2.2
    0:  sprockets-rails (3.2.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sprockets-rails-3.2.2.gemspec
    使用 jquery-rails 4.4.0
    0:  jquery-rails (4.4.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/jquery-rails-4.4.0.gemspec
    使用 lograge 0.11.2
    0:  lograge (0.11.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/lograge-0.11.2.gemspec
    使用 discourse-ember-rails 0.18.6
    0:  discourse-ember-rails (0.18.6) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/discourse-ember-rails-0.18.6.gemspec
    2:  unicorn (5.8.0) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/unicorn-5.8.0.gemspec
    3:  oj (3.11.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/oj-3.11.1.gemspec
    1:  ffi (1.14.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ffi-1.14.2.gemspec
    使用 rbtrace 0.4.14
    使用 sassc 2.0.1
    2:  rbtrace (0.4.14) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rbtrace-0.4.14.gemspec
    3:  sassc (2.0.1) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sassc-2.0.1.gemspec
    使用 sassc-rails 2.1.2
    获取 mini_suffix 0.3.2
    1:  sassc-rails (2.1.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sassc-rails-2.1.2.gemspec
    安装 mini_suffix 0.3.2
    0:  mini_suffix (0.3.2) 来自 /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_suffix-0.3.2.gemspec
    捆绑完成!123 个 Gemfile 依赖项,现已安装 161 个 gems。
    未安装 test 和 development 组中的 gems。
    捆绑的 gems 已安装到 `./vendor/bundle`
    来自 i18n 的安装后消息:

    注意!i18n 1.1 更改了回退机制,不再包含默认语言环境。
    但这可能会破坏您的应用程序。

    如果您正在将 Rails 应用程序从旧版本的 Rails 升级:

    请检查您的 Rails 应用中是否有 'config.i18n.fallbacks = true'。
    如果您使用的是 I18n (>= 1.1.0) 和 Rails (< 5.2.2),这应该改为
    'config.i18n.fallbacks = [I18n.default_locale]'。
    否则,您的应用中的回退机制将被 I18n 1.1.x 破坏。

    如果您正在启动一个新的 Rails 应用程序,可以忽略此通知。

    更多信息请参阅:
    https://github.com/svenfuchs/i18n/releases/tag/v1.1.0


    I, [2021-01-27T02:24:39.339282 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake plugin:pull_compatible_all'
    I, [2021-01-27T02:24:43.515304 #1]  INFO -- : discourse-solved 已是最新兼容版本
    docker_manager 已是最新兼容版本
    discourse-feature-voting 已是最新兼容版本

    I, [2021-01-27T02:24:43.515578 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
    rake 中止!
    StandardError: 发生错误,所有后续迁移已取消:

    PG::SyntaxError: ERROR:  "NOT" 附近存在语法错误
    LINE 2: ADD COLUMN IF NOT EXISTS image_upload_id bigint
                          ^
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `async_exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:92:in `block (2 levels) in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:91:in `block in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:722:in `block (2 levels) in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:721:in `block in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:712:in `log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:90:in `execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:890:in `block in method_missing'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `block in say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:879:in `method_missing'
    /var/www/discourse/db/migrate/20200429095034_add_topic_thumbnail_information.rb:9:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:831:in `exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:9:in `block in exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:812:in `block (2 levels) in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:811:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:471:in `with_connection'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:810:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1002:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1310:in `block in execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1363:in `ddl_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1309:in `execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1281:in `block in migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `each'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1382:in `with_advisory_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1061:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1036:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/tasks/database_tasks.rb:238:in `migrate'
    /var/www/discourse/lib/tasks/db.rake:215:in `block in <main>'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
    /usr/local/bin/bundle:23:in `load'
    /usr/local/bin/bundle:23:in `<main>'

    由以下原因引起:
    ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR:  syntax error at or near "NOT"
    LINE 2: ADD COLUMN IF NOT EXISTS image_upload_id bigint
                          ^
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `async_exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:92:in `block (2 levels) in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:91:in `block in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:722:in `block (2 levels) in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:721:in `block in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:712:in `log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:90:in `execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:890:in `block in method_missing'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `block in say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:879:in `method_missing'
    /var/www/discourse/db/migrate/20200429095034_add_topic_thumbnail_information.rb:9:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:831:in `exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:9:in `block in exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:812:in `block (2 levels) in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:811:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:471:in `with_connection'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:810:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1002:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1310:in `block in execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1363:in `ddl_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1309:in `execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1281:in `block in migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `each'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1382:in `with_advisory_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1061:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1036:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/tasks/database_tasks.rb:238:in `migrate'
    /var/www/discourse/lib/tasks/db.rake:215:in `block in <main>'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
    /usr/local/bin/bundle:23:in `load'
    /usr/local/bin/bundle:23:in `<main>'

    由以下原因引起:
    PG::SyntaxError: ERROR:  syntax error at or near "NOT"
    LINE 2: ADD COLUMN IF NOT EXISTS image_upload_id bigint
                          ^
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `async_exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:92:in `block (2 levels) in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:91:in `block in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:722:in `block (2 levels) in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:721:in `block in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:712:in `log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:90:in `execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:890:in `block in method_missing'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `block in say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:879:in `method_missing'
    /var/www/discourse/db/migrate/20200429095034_add_topic_thumbnail_information.rb:9:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:831:in `exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:9:in `block in exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:812:in `block (2 levels) in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:811:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:471:in `with_connection'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:810:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1002:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1310:in `block in execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1363:in `ddl_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1309:in `execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1281:in `block in migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `each'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1382:in `with_advisory_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1061:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1036:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/tasks/database_tasks.rb:238:in `migrate'
    /var/www/discourse/lib/tasks/db.rake:215:in `block in <main>'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
    /usr/local/bin/bundle:23:in `load'
    /usr/local/bin/bundle:23:in `<main>'
    任务:TOP => db:migrate
    (使用 --trace 运行任务以查看完整堆栈跟踪)
    I, [2021-01-27T02:24:48.903485 #1]  INFO -- : == 20200429095034 AddTopicThumbnailInformation: migrating =====================
    -- execute("ALTER TABLE posts\nADD COLUMN IF NOT EXISTS image_upload_id bigint\n")

    I, [2021-01-27T02:24:48.903736 #1]  INFO -- : 终止异步进程
    I, [2021-01-27T02:24:48.903804 #1]  INFO -- : 向 HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 51 发送 INT
    I, [2021-01-27T02:24:48.903846 #1]  INFO -- : 向 exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 168 发送 TERM
    2021-01-27 02:24:48.903 UTC [51] LOG:  received fast shutdown request
    168:signal-handler (1611714288) Received SIGTERM scheduling shutdown...
    168:M 27 Jan 2021 02:24:48.954 # User requested shutdown...
    168:M 27 Jan 2021 02:24:48.954 * Saving the final RDB snapshot before exiting.
    2021-01-27 02:24:48.962 UTC [51] LOG:  aborting any active transactions
    2021-01-27 02:24:48.964 UTC [51] LOG:  background worker "logical replication launcher" (PID 60) exited with exit code 1
    168:M 27 Jan 2021 02:24:48.964 * DB saved on disk
    168:M 27 Jan 2021 02:24:48.964 # Redis is now ready to exit, bye bye...
    2021-01-27 02:24:48.964 UTC [55] LOG:  shutting down
    2021-01-27 02:24:48.993 UTC [51] LOG:  database system is shut down


    FAILED
    --------------------
    Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 3907 exit 1>
    失败位置:/pups/lib/pups/exec_command.rb:112:in `spawn'
    exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
    9ba41a79ae37ba9321d60a2acd46a9b36b4990af29b46ad2c2ba011938a2972f

您是否在同一台主机上运行外部 PostgreSQL 实例?该实例的版本是多少?

是的,这是 Amazon RDSPostgreSQL 实例,由于我们已很久未进行任何更新,很可能运行的是 PostgreSQL 9.5 版本。

只是好奇,我们目前是否可以跳过升级部分,继续使用现有版本。

哦,如果你使用的是 RDS,升级是不是只需要一条 aws 命令行指令?

嗯,对于从 9.5 到 9.6,再到 10、11、12 的每一步升级,都需要一条指令::sweat_smile:

我们在 2018 年就已停止对 PG 9.5 的支持。之所以它至今还能运行,是因为你使用的是旧版本,而我们当时尚未在其中使用新的 SQL 特性。

此外,如果你的团队不想处理托管相关的工作,可以考虑迁移到我们的托管服务。你只需将备份发送给我们,我们将负责将其升级到最新版本。

太好了,我想进一步了解如何成为托管客户以及相关费用。能否请您分享更多细节?非常感谢您迄今为止提供的所有帮助。

特此更新:我们的问题在将 RDS 升级到最新版本后已解决。非常感谢大家在此提供的帮助和指导。谢谢。

太棒了,@Bharat_singh!你还将获得新版 PostgreSQL 带来的显著性能提升。