ループ内で:
アップグレードを完了するには、再度以下を使用して再構築してください:./launcher rebuild app
何か見落としているに違いありません。完全なログを以下に示します。ご支援いただければ幸いです。
root@discuss:/var/discourse# ./launcher rebuild app
ランチャーが最新であることを確認中
origin を取得中
ランチャーは最新です
古いコンテナを停止中
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
既に最新です。
I, [2020-05-26T20:43:00.459915 #1] INFO -- : --stdin を読み込み中
I, [2020-05-26T20:43:00.466076 #1] INFO -- : > locale-gen $LANG && update-locale
I, [2020-05-26T20:43:00.497010 #1] INFO -- : ロケールの生成中(時間がかかる場合があります)...
生成完了。
I, [2020-05-26T20:43:00.497661 #1] INFO -- : > mkdir -p /shared/postgres_run
I, [2020-05-26T20:43:00.500629 #1] INFO -- :
I, [2020-05-26T20:43:00.501124 #1] INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-05-26T20:43:00.503417 #1] INFO -- :
I, [2020-05-26T20:43:00.503867 #1] INFO -- : > chmod 775 /shared/postgres_run
I, [2020-05-26T20:43:00.505796 #1] INFO -- :
I, [2020-05-26T20:43:00.506199 #1] INFO -- : > rm -fr /var/run/postgresql
I, [2020-05-26T20:43:00.508341 #1] INFO -- :
I, [2020-05-26T20:43:00.508752 #1] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-05-26T20:43:00.510785 #1] INFO -- :
I, [2020-05-26T20:43:00.511166 #1] INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2020/05/26 20:43:00 socat[26] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): 該当するファイルまたはディレクトリがありません
I, [2020-05-26T20:43:00.515245 #1] INFO -- :
I, [2020-05-26T20:43:00.515542 #1] INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-05-26T20:43:00.518166 #1] INFO -- :
I, [2020-05-26T20:43:00.518509 #1] INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-05-26T20:43:00.520876 #1] INFO -- :
I, [2020-05-26T20:43:00.521215 #1] INFO -- : > mkdir -p /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-05-26T20:43:00.523438 #1] INFO -- :
I, [2020-05-26T20:43:00.523931 #1] INFO -- : > chown postgres:postgres /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-05-26T20:43:00.526034 #1] INFO -- :
I, [2020-05-26T20:43:00.530519 #1] INFO -- : ファイル > /etc/service/postgres/run chmod: +x chown:
I, [2020-05-26T20:43:00.534602 #1] INFO -- : ファイル > /etc/service/postgres/log/run chmod: +x chown:
I, [2020-05-26T20:43:00.538528 #1] INFO -- : ファイル > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2020-05-26T20:43:00.542481 #1] INFO -- : ファイル > /root/upgrade_postgres chmod: +x chown:
I, [2020-05-26T20:43:00.542896 #1] INFO -- : > chown -R root /var/lib/postgresql/12/main
I, [2020-05-26T20:43:00.638174 #1] INFO -- :
I, [2020-05-26T20:43:00.638520 #1] INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/12/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-05-26T20:43:00.640938 #1] INFO -- :
I, [2020-05-26T20:43:00.641292 #1] INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-05-26T20:43:00.672801 #1] INFO -- :
I, [2020-05-26T20:43:00.673456 #1] INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-05-26T20:43:00.676098 #1] INFO -- :
I, [2020-05-26T20:43:00.676587 #1] INFO -- : > /root/upgrade_postgres
initdb: 警告:ローカル接続に対して「trust」認証を有効にしました
これは、pg_hba.conf を編集するか、initdb を次回実行する際にオプション -A、または
--auth-local および --auth-host を使用して変更できます。
debconf: apt-utils がインストールされていないため、パッケージ設定を遅延させています
mv: '/shared/postgres_data' を '/shared/postgres_data_old/postgres_data' に移動できません:ディレクトリが空ではありません
mv: '/shared/postgres_data_new' を '/shared/postgres_data/postgres_data_new' に移動できません:ディレクトリが空ではありません
I, [2020-05-26T20:43:15.530374 #1] INFO -- : PostgreSQL をバージョン 10 から 12 にアップグレード中
このデータベースシステムに属するファイルはユーザー「postgres」が所有します。
このユーザーはサーバープロセスも所有している必要があります。
データベースクラスタはロケール「en_US.UTF-8」で初期化されます。
デフォルトのデータベースエンコーディングはそれに応じて「UTF8」に設定されました。
デフォルトのテキスト検索設定は「english」に設定されます。
データページチェックサムは無効化されています。
既存のディレクトリ /shared/postgres_data_new の権限を修正中 ... ok
サブディレクトリを作成中 ... ok
動的共有メモリの実装を選択中 ... posix
デフォルトの max_connections を選択中 ... 100
デフォルトの shared_buffers を選択中 ... 128MB
デフォルトのタイムゾーンを選択中 ... Etc/UTC
設定ファイルを作成中 ... ok
ブートストラップスクリプトを実行中 ... ok
ブートストラップ後の初期化を実行中 ... ok
データをディスクに同期中 ... ok
成功しました。 now 以下を使用してデータベースサーバーを起動できます:
/usr/lib/postgresql/12/bin/pg_ctl -D /shared/postgres_data_new -l logfile start
Hit:1 http://deb.debian.org/debian buster InRelease
Get:2 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [49.3 kB]
Get:4 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [84.6 kB]
Get:5 http://security.debian.org/debian-security buster/updates/main amd64 Packages [201 kB]
Hit:6 https://deb.nodesource.com/node_10.x buster InRelease
Get:7 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [171 kB]
571 kB を取得しました(1秒間で 810 kB/s)
パッケージリストを読み込んでいます...
パッケージリストを読み込んでいます...
依存関係ツリーを構築中...
状態情報を取得中...
以下の追加パッケージがインストールされます:
postgresql-client-10
推奨パッケージ:
postgresql-doc-10
以下の新しいパッケージがインストールされます:
postgresql-10 postgresql-client-10
0 アップグレード、2 新しいインストール、0 削除、9 未アップグレード。
6,390 kB のアーカイブを取得する必要があります。
この操作後、30.6 MB の追加ディスク容量が使用されます。
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-10 amd64 10.13-1.pgdg100+1 [1,428 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-10 amd64 10.13-1.pgdg100+1 [4,961 kB]
6,390 kB を取得しました(2秒間で 4,017 kB/s)
以前選択されていなかったパッケージ postgresql-client-10 を選択中。
(データベースを読み込んでいます ... 現在インストールされているファイルとディレクトリは 43929 個です。)
展開準備中 .../postgresql-client-10_10.13-1.pgdg100+1_amd64.deb ...
postgresql-client-10 (10.13-1.pgdg100+1) を展開中 ...
以前選択されていなかったパッケージ postgresql-10 を選択中。
展開準備中 .../postgresql-10_10.13-1.pgdg100+1_amd64.deb ...
postgresql-10 (10.13-1.pgdg100+1) を展開中 ...
postgresql-client-10 (10.13-1.pgdg100+1) を設定中 ...
update-alternatives: 警告:リンクグループ psql.1.gz が壊れているため、代替 /usr/share/postgresql/12/man/man1/psql.1.gz の再インストールを強制しています
postgresql-10 (10.13-1.pgdg100+1) を設定中 ...
新しい PostgreSQL クラスタ 10/main を作成中 ...
/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5
このデータベースシステムに属するファイルはユーザー「postgres」が所有します。
このユーザーはサーバープロセスも所有している必要があります。
データベースクラスタはロケール「C.UTF-8」で初期化されます。
デフォルトのデータベースエンコーディングはそれに応じて「UTF8」に設定されました。
デフォルトのテキスト検索設定は「english」に設定されます。
データページチェックサムは無効化されています。
既存のディレクトリ /var/lib/postgresql/10/main の権限を修正中 ... ok
サブディレクトリを作成中 ... ok
デフォルトの max_connections を選択中 ... 100
デフォルトの shared_buffers を選択中 ... 128MB
デフォルトのタイムゾーンを選択中 ... Etc/UTC
動的共有メモリの実装を選択中 ... posix
設定ファイルを作成中 ... ok
ブートストラップスクリプトを実行中 ... ok
ブートストラップ後の初期化を実行中 ... ok
データをディスクに同期中 ... ok
成功しました。now 以下を使用してデータベースサーバーを起動できます:
pg_ctlcluster 10 main start
警告:選択された stats_temp_directory /var/run/postgresql/10-main.pg_stat_tmp
はクラスタ所有者に対して書き込み可能ではありません。この設定を
postgresql.conf に追加しません。
Ver Cluster Port Status Owner Data directory Log file
10 main 5433 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: 警告:リンクグループ postmaster.1.gz が壊れているため、代替 /usr/share/postgresql/12/man/man1/postmaster.1.gz の再インストールを強制しています
invoke-rc.d: 現在のランレベルを決定できませんでした
invoke-rc.d: policy-rc.d が start の実行を拒否しました。
postgresql-common (213.pgdg100+1) のトリガーを処理中 ...
インストール済みの myspell/hunspell パッケージから PostgreSQL 辞書を構築中...
不要な辞書ファイルを削除中:
PostgreSQL 10 データベースサーバーを停止中:main。
PostgreSQL 12 データベースサーバーを停止中:main。
一貫性チェックを実行中
-----------------------------
クラスタバージョンをチェック中 ok
データベースユーザーがインストールユーザーであることをチェック中 ok
データベース接続設定をチェック中 ok
準備済みトランザクションをチェック中 ok
ユーザーテーブル内の reg* データ型をチェック中 ok
contrib/isn の bigint 渡しの不一致をチェック中 ok
WITH OIDS のテーブルをチェック中 ok
無効な「sql_identifier」ユーザーカラムをチェック中 ok
グローバルオブジェクトのダンプを作成中 ok
データベーススキーマのダンプを作成中
discourse
postgres
template1
ok
必要なライブラリの存在をチェック中 ok
データベースユーザーがインストールユーザーであることをチェック中 ok
準備済みトランザクションをチェック中 ok
このポイント以降で pg_upgrade が失敗した場合、続行する前に
新しいクラスタを再初期化する必要があります。
アップグレードを実行中
------------------
新しいクラスタのすべての行を分析中 ok
新しいクラスタのすべての行を凍結中 ok
新しい pg_xact からファイルを削除中 ok
古い pg_xact を新しいサーバーにコピー中 ok
新しいクラスタの次のトランザクション ID とエポックを設定中 ok
新しい pg_multixact/offsets からファイルを削除中 ok
古い pg_multixact/offsets を新しいサーバーにコピー中 ok
新しい pg_multixact/members からファイルを削除中 ok
古い pg_multixact/members を新しいサーバーにコピー中 ok
新しいクラスタの次の multixact ID とオフセットを設定中 ok
WAL アーカイブをリセット中 ok
新しいクラスタの frozenxid と minmxid カウンターを設定中 ok
新しいクラスタでグローバルオブジェクトを復元中 ok
新しいクラスタでデータベーススキーマを復元中
template1
discourse
postgres
ok
ユーザーリレーションファイルをコピー中
/shared/postgres_data/base/16400/2613
/shared/postgres_data/base/16400/2683
/shared/postgres_data/base/16400/16728
/shared/postgres_data/base/16400/16728_fsm
/shared/postgres_data/base/16400/16728_vm
/shared/postgres_data/base/16400/16731
/shared/postgres_data/base/16400/84163
/shared/postgres_data/base/16400/84163_fsm
/shared/postgres_data/base/16400/84163_vm
……
ok
新しいクラスタの次の OID を設定中 ok
データディレクトリをディスクに同期中 ok
新しいクラスタを分析するスクリプトを作成中 ok
古いクラスタを削除するスクリプトを作成中 ok
アップグレード完了
----------------
pg_upgrade によってオプティマイザ統計は転送されませんので、
新しいサーバーを起動したら、以下を実行することを検討してください:
./analyze_new_cluster.sh
このスクリプトを実行すると、古いクラスタのデータファイルが削除されます:
./delete_old_cluster.sh
-------------------------------------------------------------------------------------
POSTGRES のアップグレードが完了しました
古いバージョン 10 のデータベースは /shared/postgres_data_old に保存されています
アップグレードを完了するには、再度以下を使用して再構築してください:
./launcher rebuild app
-------------------------------------------------------------------------------------