Discourse の v13 へのアップグレードにはディスク容量が不足するため、現在は PostgreSQL v12 を稼働させています。v12 との互換性が壊れているようですが、これは意図的なものでしょうか?もしそうであれば、Discourse を今後二度とアップグレードできなくなってしまいます。
./launcher start app を実行してサービスを再開しましたが、現時点では本番環境の問題ではありません。しかし、セキュリティ対策などの理由でさえアップグレードできない状態は、我々にとって非常に深刻な問題です。
app.yml の内容:
- "templates/postgres.12.template.yml"
./launcher rebuild app を実行した結果:
FAILED
--------------------
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/postgresql/13/main/pg_hba.conf
Location of failure: /pups/lib/pups/replace_command.rb:8:in `read'
replace failed with the params {"filename"=>"/etc/postgresql/13/main/pg_hba.conf", "from"=>"/^host.*all.*all.*::1\\/128.*$/", "to"=>"host all all ::/0 md5"}
0ba8112e6efa1ac2dd75af8a1da8eea0937e7aefbca2df28b22d27e9608d1479
** FAILED TO BOOTSTRAP ** 上記のログをスクロールして、より早期のエラーメッセージを探してください。エラーが複数ある可能性があります。
./discourse-doctor を実行すると問題の特定に役立つかもしれません。
現在稼働中のバージョンは 2.8.0.beta4 75b0d6df93 です。
IAmGav
(Gavin Perch)
2021 年 8 月 26 日午後 2:59
2
PostgreSQL 13 を探しており、12 ではありません。
{“filename” => “/etc/postgresql/13/main/pg_hba.conf”,
バックアップを取得し、Postgres 13がデフォルトとなる完全に新しいDiscourseインスタンスを作成し、バックアップを復元してDNSでサーバーを再マッピングするのはどうでしょうか?
「いいね!」 2
一見怖く見えるかもしれませんが、十分な安全策が講じられていますので、いつでも旧サーバーを再度オンラインに戻すことができます。
「いいね!」 1
「1〜2日分の投稿が失われる」とフォラムのメンバーに伝えることよりも、避けたい面倒な作業の方がマシです。できれば、Discourse の開発者たちに「もちろん PG12 版も対応しています。これは単なるバグなので、すぐに修正します」と言ってほしいものです。
いいえ、私は非常に 大規模なフォーラムを運営しています。
「いいね!」 2
Falco
(Falco)
2021 年 8 月 26 日午後 7:41
12
ああ、コミュニティの PR で導入されたバグですね。どこでも PG12 を実行していないため、見逃されていました。数分お待ちください。
main ← fuerst:master
merged 04:33AM - 06 Aug 21 UTC
In a Docker environment configured for IPv6 (`"ipv6": true` in _/etc/docker/daem… on.json_) a Discourse web container may not be able to connect to the data container using IPv6.
This PR fixes it by replacing `::1/128` in _/etc/postgresql/13/main/pg_hba.conf_ by `::/0`. That's a similar approach as already working for IPv4.
「いいね!」 5
Falco
(Falco)
2021 年 8 月 26 日午後 7:46
13
Fix #551 regression on old pg by xfalcox · Pull Request #566 · discourse/discourse_docker · GitHub で修正されました。
@Wingtip さん、再度ビルドし直していただけますか?
ただし、当方は PG12 を運用していないため、コア機能に PG13 以降専用の SQL 構文を導入する可能性があります。そのため、アップグレードを「いつか」スケジュールしておくことをお勧めします。
「いいね!」 5
VMの別のスナップショットを取得した直後に確認します。
PGのアップグレードには大量のディスク容量が必要で、本当に腹が立ちます。OracleやMySQLではこのような問題はなく、インプレースでアップグレードできます。
Falco
(Falco)
2021 年 8 月 26 日午後 7:53
15
pg_upgrade は、その場でのアップグレードを可能にする単一の --link フラグを提供します。
当社の「初心者向け」ランチャーアップグレードスクリプトでは、99% のインストールがクラウド VM 上で実行されており、ディスク容量を簡単かつ安価に拡張できるため、このフラグの使用は見送りました。
ただし、プロセス中のディスク容量を節約するために手動でアップグレードを行いたい方のために、オプションとして用意されています。
「いいね!」 1
2 つの解決策が提示されました。私の記憶では、一つはデータベース全体の約 3 倍の容量が必要で、もう一つは約 2 倍が必要でした。もしインプレースで実行できるのであれば、そのことを文書化すると非常に役立つでしょう。
追記:修正が成功しました。ありがとうございます!
「いいね!」 2
fuerst
(Bernhard Fürst)
2021 年 8 月 27 日午前 6:32
17
はい、考えずにコピペしてしまいました。ご指摘いただき、ありがとうございます!
「いいね!」 1
system
(system)
クローズされました:
2021 年 9 月 26 日午前 6:33
19
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.