Всем привет, сегодня я столкнулся с этой проблемой. Суть в том, что нас уже около 6 дней тревожат уведомления о сбоях резервного копирования, и ключевые строки в логах выглядели так:
[2025-06-14 03:30:20] pg_dump: error: aborting because of server version mismatch
[2025-06-14 03:30:20] pg_dump: detail: server version: 16.9; pg_dump version: 15.12 (Debian 15.12-1.pgdg120+1)
Я запускаю Discourse на Ubuntu на виртуальной машине Digital Ocean, используя рекомендуемое руководство по установке. Однако я использую управляемую базу данных PostgreSQL от Digital Ocean вместо контейнера PostgreSQL. Проверив свою базу данных, я увидел, что там запущен PostgreSQL 16. Я не думаю, что они недавно её обновили (да и в любом случае я не ожидал, что обновление основной версии будет происходить автоматически), но я написал в их поддержку, чтобы перепроверить.
В любом случае, мои исследования привели меня на эту страницу. Я не был уверен, куда именно вставить YAML-код, который опубликовал @pfaffman, поэтому выполнил команды вручную и решил поделиться этим с теми, кто может столкнуться с той же проблемой:
cd /var/discourse
launcher enter app
apt list --installed | grep postgres # чтобы подтвердить, что сейчас установлена версия 15
apt-get update
apt-get remove postgresql-client-15
apt-get install postgresql-client-16
Затем я запустил ручное резервное копирование на странице администратора резервных копий.
Кажется, это временно решило проблему, но, как указал @pfaffman, я ожидаю, что при следующем обновлении Discourse всё вернётся к postgresql-client-15, и резервное копирование снова перестанет работать, потребуются описанные выше ручные действия.
Есть ли какое-то решение этой проблемы, кроме необходимости повторять эти шаги каждый раз при обновлении Discourse?