postgres-clientのバージョンをアップグレードする可能性はありますか?

統合されたDockerベースのPostgresではなく、外部データベースでDiscourseを使用しています。最近、Postgresクラスターを14にアップグレードする必要がありましたが、Discourseのバックアップが失敗し続けています。

ログ出力

[2022-01-17 03:38:08] publicスキーマのデータベースをダンプ中...
[2022-01-17 03:38:08] pg_dump: エラー: サーバーのバージョン: 14.1 (Ubuntu 14.1-1.pgdg18.04+1); pg_dump のバージョン: 13.5 (Debian 13.5-1.pgdg100+1)
[2022-01-17 03:38:08] pg_dump: エラー: サーバーのバージョンが一致しないため、中止します
[2022-01-17 03:38:08] 例外: pg_dump が失敗しました

コンテナのpostgresql-client 13.5-1.pgdg100+1をバージョン14にアップグレードする方法はありますか?

「いいね!」 1

Postgres のバージョンは 2 つのリリースごとにアップグレードします。これは、データベースのアップグレードには膨大なエンジニアリング リソースが必要となるためです。現在 Postgres 13 を使用しているため、(バグ修正のポイント リリースである) Postgres 15.1 がリリースされたら Postgres 15.1 にアップグレードします。

「いいね!」 1

理解はしていますが、アップグレードポリシーについてご指摘いただきありがとうございます。大変参考になりました。DBに関するエンジニアリングリソースについては認識しております。Postgresは好きですが、クラスターのアップグレードは、通常、熱心なカトリック教徒になるようなものです。事前に多くの祈りを捧げますが、それでも多くの血と汗と涙を流すことになります。

「いいね!」 2

必要な postgresql-client は、app.yml に適切な apt-get コマンドを追加することで手動でインストールできるはずです。

「いいね!」 3

アプリケーション自体のRuby gemに依存関係の問題が発生しますか? apt install をフックとして追加するには launcher rebuild app が必要だと理解していますが、正しいですか?もしそうなら、以前に私が立てたこちらのトピックで説明されているように、中国でのアプリの再構築に大きな問題が発生するため、別の面倒なアップグレードではこれをスキップします。そのため、アプリに入ってから手動でapt経由でインストールすればうまくいくのかどうかを明確にしたいのです。

「いいね!」 3

本番環境で何かを行う前にステージングサイトでテストすることをお勧めしますが、Ruby gem に問題はないと思います。実行中のコンテナにインストールすることも機能するはずです。

「いいね!」 2

では、来年の2023年にスクリプトを作成するのですか? PostgreSQL: Versioning Policy

バックアップの失敗について、新しいチケットを開くべきですか?

??? 膨大な量のエンジニアリングリソースが必要 ???
PostgreSQL データベースを 13.5 から 14.1 に更新するためのこれらの単純なコマンドラインでバックアップの問題が解決するようです… 乾杯

cd /var/discourse
./launcher enter app
sudo apt-get install postgresql

公式にサポートするためには、はい、必要です。

「いいね!」 4