PostgreSQL のサポートされているデータベースバージョンに関する記載はありますか?
Discourse の各リリースバージョンごとに、特に PostgreSQL のバージョンがサポートされなくなった場合の情報があると非常に助かります。
PostgreSQL のサポートされているデータベースバージョンに関する記載はありますか?
Discourse の各リリースバージョンごとに、特に PostgreSQL のバージョンがサポートされなくなった場合の情報があると非常に助かります。
Postgres は Discourse の Docker コンテナにバンドルされているため、基本的に手動での操作は不要です。Discourse チームは、新しいリリースが公開され、適切にテストされた段階で Postgres のバージョンをアップグレードします。直近のアップグレードはバージョン 13 への移行でした。そのアップグレードの詳細は以下でご確認いただけます:
まあ、誰もがバンドルされた PostgreSQL データベースを使っているわけではありません。
現在のインストールドキュメントでは、Postgres 10 以降が必要バージョンとして記載されています。
ただし、公式にサポートされている構成は Docker コンテナを使用したものに限られます。
はい、サポートされている PostgreSQL のバージョン(「強くサポート」されているかどうかは別として、Docker ビルドの観点から)は、discourse_docker の templates ディレクトリにリストされています。
ただし、可能な限り早く最新の PostgreSQL バージョン(現在はバージョン 13)に移行することを強くお勧めします。
ただし、組織内の何らかの制約により、ホスト上で最新バージョンを実行できない場合は、discourse_docker の templates ディレクトリが調査に役立ちます。
3年後に確認: Dockerテンプレート はまだ PG_MAJOR=13 となっていますが、PostgreSQLの新しいバージョン があります:2021年の14、2022年の15、2023年の16です。
したがって、最新のPostgreSQL 16(2028年にEOL)ではなく、バージョン13(2025年にEOL)を使用することを推奨しているのでしょうか?
はい、その通りです。
すでにバージョン15で稼働しているサイトがいくつかあり、来年には13からアップデートする予定です。
質問: 現在の状況はどうなっていますか?外部のPostgreSQLデータベースを実行しており、データベースサーバーを13からアップグレードしたいと考えています。PostgreSQL 16は2023年9月14日にリリースされました。Discourseで使用できますか?データベース自体に移行手順は必要になりますか?(サーバー側のグローバル移行手順は除く)
PostgreSQL 13 は引き続き公式サポート対象バージョンであり、先月リリースされたバージョン 13.15 もサポートされています。
バージョン 15 を実行しているサイトが多数あり、これはセルフホストユーザー向けに最終的にアップデートを提供する予定の、動作確認済みのバージョンです。
バージョン 16 は開発者マシン以外での広範なテストは行われていませんが、もし試してみたいという冒険心があり、何か問題が発生するかどうかを確認したい場合は、結果をお知らせください!
Discourse は Postgres に対して何か特別なことを行っていますか?それにより、Postgres の新しいバージョンへのアップグレードが単純なダンプと復元で機能しない可能性が示唆されますか?
このスレッドを再度上げますが、PostgreSQL 15にアップグレードする理由があるのでしょうか、それとも16や17にするべきでしょうか?
また、PostgreSQLのアップグレードはいつ頃を予定していますか?
皆さん、AWS RDS PostGre 16.4 に移行したばかりで、動作しているようです。
Discourse のバージョンは 3.4.0.beta3-dev です。
まだすべてのボタンを押したわけではありませんが
、ボード自体は動作しているようですが…
以下のエラーのため、バックアップを作成できません。
[2024-12-13 08:36:07] '/var/www/discourse/tmp/backups/default/2024-12-13-083607' が存在することを確認中...
[2024-12-13 08:36:07] '/var/www/discourse/public/backups/default' が存在することを確認中...
[2024-12-13 08:36:07] メタデータを更新中...
[2024-12-13 08:36:07] データベースの public スキーマをダンプ中...
[2024-12-13 08:36:08] pg_dump: エラー: サーバーのバージョン: 16.4; pg_dump のバージョン: 13.18 (Debian 13.18-1.pgdg120+1)
[2024-12-13 08:36:08] pg_dump: エラー: サーバーのバージョンが一致しないため、中止します
[2024-12-13 08:36:08] 例外: pg_dump が失敗しました
奇妙なことに、内部メカニズムでデータをインポートすることはできました。
私がやったこと:
これを解決する方法はありますか?
よろしくお願いいたします。
JP
皆さん、面白くなってきましたね。
数日間仕事をしておらず、新しい会社の掲示板をチェックしていませんでした。
今日チェックしたところ、スケジュールされたバックアップは正常に機能しましたが、手動バックアップを再度試したところ、失敗しました ![]()
スケジュールされたバックアップ:
データベースのパブリック スキーマをダンプしています...
[2024-12-04 06:02:16] pg_dump: 最後の組み込み OID は 16383 です
[2024-12-04 06:02:16] pg_dump: 拡張機能を読み込んでいます
[2024-12-04 06:02:16] pg_dump: 拡張機能メンバーを識別しています
[2024-12-04 06:02:16] pg_dump: スキーマを読み込んでいます
[2024-12-04 06:02:16] pg_dump: ユーザー定義テーブルを読み込んでいます
[2024-12-04 06:02:16] pg_dump: ユーザー定義関数を読み込んでいます
[2024-12-04 06:02:16] pg_dump: ユーザー定義型を読み込んでいます
......
pg_dump: テーブル "public.themes" の内容をダンプしています
[2024-12-04 06:02:19] pg_dump: テーブル "public.top_topics" のデータを処理しています
[2024-12-04 06:02:19] pg_dump: テーブル "public.top_topics" の内容をダンプしています
[2024-12-04 06:02:19] バックアップを最終処理しています...
[2024-12-04 06:02:19] アーカイブを作成しています: scp-talk-2024-12-04-060216-v20241127034553.tar.gz
[2024-12-04 06:02:19] アーカイブが既に存在しないことを確認しています...
[2024-12-04 06:02:19] 空のアーカイブを作成しています...
[2024-12-04 06:02:19] データダンプをアーカイブしています...
[2024-12-04 06:02:19] アップロードをアーカイブしています...
[2024-12-04 06:02:19] 一時ディレクトリ '/var/www/discourse/tmp/backups/default/2024-12-04-060216' を削除しています...
[2024-12-04 06:02:19] アーカイブを gzip 圧縮しています。これには時間がかかる場合があります...
[2024-12-04 06:02:19] バックアップの after_create_hook を実行しています...
[2024-12-04 06:02:19] 古いバックアップを削除しています...
[2024-12-04 06:02:19] クリーンアップを実行しています...
[2024-12-04 06:02:19] '.tar' の残り物を削除しています...
[2024-12-04 06:02:19] バックアップが完了したことをマークしています...
[2024-12-04 06:02:19] ディスク統計情報を更新しています...
[2024-12-04 06:02:19] バックアップ終了を '<me>' に通知しています...
手動バックアップ:
[2024-12-16 10:03:54] '<me>' がバックアップを開始しました!
[2024-12-16 10:03:54] バックアップを実行中としてマークしています...
[2024-12-16 10:03:54] '/var/www/discourse/tmp/backups/default/2024-12-16-100354' が存在することを確認しています...
[2024-12-16 10:03:54] '/var/www/discourse/public/backups/default' が存在することを確認しています...
[2024-12-16 10:03:54] メタデータを更新しています...
[2024-12-16 10:03:54] データベースのパブリック スキーマをダンプしています...
[2024-12-16 10:03:54] pg_dump: エラー: サーバーのバージョン: 16.4; pg_dump のバージョン: 13.18 (Debian 13.18-1.pgdg120+1)
[2024-12-16 10:03:54] pg_dump: エラー: サーバーのバージョンが一致しないため、中止しています
[2024-12-16 10:03:54] 例外: pg_dump が失敗しました
うーん、何かアイデアはありますか?
非常に奇妙です ![]()
外部データベースを使用して 3.4.0.beta3 にアップグレードすると、バックアップが失敗することを確認しました。
インスタンスは 3.4.0.beta3 (タグ) が 2 つあります。1) Postgres-in-Docker (デフォルト)。2) 外部 Postgres (ローカルセルフホスト)。
1 つ目は、スケジュールと手動の両方でバックアップできます。
[2024-12-23 11:11:43] バックアップを稼働中としてマークしています...
[2024-12-23 11:11:44] '/var/www/discourse/tmp/backups/default/2024-12-23-111143' が存在することを確認しています...
[2024-12-23 11:11:44] '/var/www/discourse/public/backups/default' が存在することを確認しています...
[2024-12-23 11:11:44] メタデータを更新しています...
[2024-12-23 11:11:44] public スキーマのデータベースをダンプしています...
[2024-12-23 11:11:44] pg_dump: 最後の組み込み OID は 16383 です
[2024-12-23 11:11:44] pg_dump: 拡張機能を読み込んでいます
[2024-12-23 11:11:44] pg_dump: 拡張機能メンバーを識別しています
[2024-12-23 11:11:44] pg_dump: スキーマを読み込んでいます
...
2 つ目は失敗します。
[2024-12-21 03:35:21] バックアップを稼働中としてマークしています...
[2024-12-21 03:35:21] '/var/www/discourse/tmp/backups/default/2024-12-21-033521' が存在することを確認しています...
[2024-12-21 03:35:21] '/var/www/discourse/public/backups/default' が存在することを確認しています...
[2024-12-21 03:35:21] メタデータを更新しています...
[2024-12-21 03:35:21] public スキーマのデータベースをダンプしています...
[2024-12-21 03:35:22] pg_dump: エラー: サーバーバージョン: 16.6 (Ubuntu 16.6-0ubuntu0.24.04.1); pg_dump バージョン: 13.18 (Debian 13.18-1.pgdg120+1)
[2024-12-21 03:35:22] pg_dump: エラー: サーバーバージョンの一致がないため中止します
[2024-12-21 03:35:22] 例外: pg_dump が失敗しました
...
昨日アップグレードしましたが、バージョン不一致のためスケジュールされたバックアップが失敗することを確認しました。
Dockerに入り、新しいpostgresql-clientをインストールすることで修正できます。
/var/discourse/launcher enter app
apt update
apt install postgresql-client
皆さん、こんにちは。
RDSで暗号化されたPostGre DBに切り替えました。昨日も同じことをしていました(以前の手順で説明したように、バックアップを作成し、app.ymlを編集し、再構築するなど)が、昨日も機能していました。
今日、PRODで試したところ、このエラーが発生しました:frowning:
discourse_functions スキーマに不足している関数を作成中…
ダンプファイルを復元中…(これには時間がかかる場合があります)
SET
SET
SET
ERROR: unrecognized configuration parameter “transaction_timeout”
EXCEPTION: psql failed: ERROR: unrecognized configuration parameter “transaction_timeout”
DBeaverで直接DBで試しましたが、昨日問題なく動作していたDBでも同じエラーが発生しました。
どちらの場合もバックアップは最新でした。
一晩で何か変更しましたか? ![]()
よろしくお願いします。
WS
こんにちは。
バックアップファイルで行われているダンプを確認しました。
先頭に以下のSET文が含まれています。
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET transaction_timeout = 0;
SET client_encoding = ‘UTF8’;
SET standard_conforming_strings = on;
transaction_timeout パラメータは、ここで奇妙です ![]()
なぜなら
transaction_timeout は PostgreSQL 17 で追加されたからです。
ここに記載されています:
https://pgpedia.info/t/transaction_timeout.html
助けが必要です ![]()
よろしくお願いします!
Cheers,
Wurzelseppi
postgresql-client の更新を、コンテナの YAML を変更することによって、再構築の自動化された一部として行う方法はありますか?