Обновление PostgreSQL 15

Да, предупреждения новые (и их следует исправить), но они касаются только команд, копирующих исходные файлы в систему, и не связаны с обновлениями. Наша основная версия заключается в том, что база данных была инициализирована до применения переменной LANG, что вызывает проблемы только при обновлениях базы данных.

Один из способов попробовать — временно установить LANG в en_US.UTF-8 для процесса обновления, а затем вернуть исходное значение (не забудьте заранее сделать резервные копии).

2 лайка

У меня не получилось, проблема, кажется, связана с локалью

$ cat postgres_data_new/pg_upgrade_output.d/20250131T032317.601/log/pg_upgrade_server.log
-----------------------------------------------------------------
  pg_upgrade запущен в пятницу, 31 января 2025 г., 03:23:17
-----------------------------------------------------------------

команда: "/usr/lib/postgresql/13/bin/pg_ctl" -w -l "/var/lib/postgresql/15/data/pg_upgrade_output.d/20250131T032317.601/log/pg_upgrade_server.log" -D "/var/lib/postgresql/13/data" -o "-p 50432 -b  -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directories='/var/lib/postgresql'" start >> "/var/lib/postgresql/15/data/pg_upgrade_output.d/20250131T032317.601/log/pg_upgrade_server.log" 2>&1
ожидание запуска сервера....2025-01-31 03:23:17.761 UTC [268] LOG:  недопустимое значение параметра "lc_messages": "ru_RU.UTF-8"
2025-01-31 03:23:17.761 UTC [268] LOG:  недопустимое значение параметра "lc_monetary": "ru_RU.UTF-8"
2025-01-31 03:23:17.761 UTC [268] LOG:  недопустимое значение параметра "lc_numeric": "ru_RU.UTF-8"
2025-01-31 03:23:17.761 UTC [268] LOG:  недопустимое значение параметра "lc_time": "ru_RU.UTF-8"
2025-01-31 03:23:17.761 UTC [268] FATAL:  файл конфигурации "/var/lib/postgresql/13/data/postgresql.conf" содержит ошибки
 ожидание прекращено
pg_ctl: не удалось запустить сервер
Проверьте вывод лога.

2 лайка

Попробуйте добавить следующее в ваш файл app.yml и пересобрать приложение:

env:
  LANG: 'ru_RU.UTF-8'
  ...

Ошибка, которую вы видите, скорее всего, связана с Postgres error upgrading from 3.3 to 3.4 caused by locale issues.

1 лайк

У меня это в формате yml, извините, если неясно. Я пытаюсь выполнить шаг с использованием контейнера tianon/postgres-upgrade:13-to-15 из ручного обновления и оставил комментарий в этом скрипте.

Я исправил эту ошибку, включив локаль ru_RU.UTF-8 в контейнере, но теперь возникла другая:

Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok
Checking database user is the install user                  ok
Checking database connection settings                       ok
Checking for prepared transactions                          ok
Checking for system-defined composite types in user tables  ok
Checking for reg* data types in user tables                 ok
Checking for contrib/isn with bigint-passing mismatch       ok
Checking for user-defined encoding conversions              ok
Checking for user-defined postfix operators                 ok
Checking for incompatible polymorphic functions             ok
Creating dump of global objects                             ok
Creating dump of database schemas                           ok

lc_collate values for database "template1" do not match:  old "ru_RU.UTF-8", new "en_US.utf8"
Failure, exiting
1 лайк

Не могли бы вы подтвердить, создали ли вы также директорию postgres_data_new после обновления локали в контейнере tianon? Вероятно, она была инициализирована с неверной локалью в предыдущих запусках, что могло объяснить последующую ошибку new "en_US.utf8".

Если вы ещё этого не сделали, возможно, вам также потребуется установить соответствующие настройки локали в контейнере tianon перед запуском docker-upgrade (который также выполняет initdb для новой версии базы данных). Самый простой способ — скопировать переменные окружения, специфичные для локали, из вашего контейнера app.

2 лайка

Да, это была часть проблемы! Спасибо!

В итоге мне потребовалось внести два изменения: во-первых, настроить локаль для initdb с помощью POSTGRES_INITDB_ARGS="--locale=ru_RU.UTF-8" (основано на этом комментарии), а во-вторых, включить локаль и выполнить locale-gen. Таким образом, мой скрипт выглядел следующим образом:

docker run --rm \
	--entrypoint=/bin/bash \
	-v /var/discourse/shared/standalone/postgres_data:/var/lib/postgresql/13/data \
	-v /var/discourse/shared/standalone/postgres_data_new:/var/lib/postgresql/15/data \
	-e POSTGRES_INITDB_ARGS="--locale=ru_RU.UTF-8" \
	tianon/postgres-upgrade:13-to-15 \
	-c "apt-get update && apt-get install -y postgresql-15-pgvector && sed -i 's/^# *\(ru_RU.UTF-8 UTF-8\)/\1/' /etc/locale.gen && locale-gen && docker-upgrade"

Также мне пришлось исправить права доступа к папке postgres_data, иначе при пересборке возникала проблема с сокетом:

2025-01-31 05:38:30.430 GMT [44] LOG:  skipping missing configuration file "/shared/postgres_data/postgresql.auto.conf"
2025-01-31 05:38:30.433 UTC [44] FATAL:  data directory "/shared/postgres_data" has wrong ownership
2025-01-31 05:38:30.433 UTC [44] HINT:  The server must be started by the user that owns the data directory.
I, [2025-01-31T05:38:35.384305 #1]  INFO -- : 
I, [2025-01-31T05:38:35.384481 #1]  INFO -- : > /usr/local/bin/create_db
createdb: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
	Is the server running locally and accepting connections on that socket?

Я не уверен и не помню, каким должен быть владелец, поэтому присвоил ему тот же UID/GID, что и у папок postgres_backup и postgres_run, которые находились рядом.

chown -R 101:104 /var/discourse/shared/standalone/postgres_data

Теперь всё работает!

4 лайка

Спасибо за обратную связь и извините за неудобства. :slight_smile:

Ах, да. Контейнер tianon использует другой UID для пользователя postgres.

Я обновил инструкции в исходном сообщении на основе ваших рекомендаций. Спасибо!

1 лайк

Хорошо, я могу попробовать. Я предполагаю, что это означает изменение настроек ниже в app.yml? Или есть что-то ещё, что мне нужно сделать? (например, настроить параметры сессии на хост-системе)

env:
  LC_ALL: de_DE.UTF-8
  LANG: de_DE.UTF-8
  LANGUAGE: de_DE.UTF-8
1 лайк

Это может быть не по теме, но вам действительно нужны LANG и LANGUAGE, если вы используете LC_ALL?

Но да, там вы берёте используемые локали.

1 лайк

Это действительно продуманно, что это включено в стандартный скрипт очистки, спасибо!

1 лайк

Вы правы, скорее всего, нет. Мне нужно будет уточнить у коллеги, который изначально устанавливал Discourse, зачем он добавил все три переменные.

1 лайк

У меня тоже возникает ошибка с локалью.

(<unknown>): при парсинге блочного отображения не найден ожидаемый ключ в строке 133, столбец 5 -e LANG=en_US.UTF-8
Ошибка синтаксиса YAML. Проверьте файлы конфигурации в containers/*.yml.

Это было вызвано ошибкой в пробелах в конце файла yml. Я исправил ошибку в пробелах, и обновление прошло без проблем.

При смене локали в app.yml я продвинулся немного дальше, но, к сожалению, незначительно. Похоже, что что-то всё ещё идёт не так, и обновление PostgreSQL применяется некорректно:

root@Ubuntu-2204-jammy-amd64-base /var/discourse # ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app
app
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-01T22:43:22.046506 #1]  INFO -- : Reading from stdin
I, [2025-02-01T22:43:22.090615 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2025-02-01T22:43:22.095189 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2025-02-01T22:43:22.113260 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2025-02-01T22:43:22.116842 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown:
I, [2025-02-01T22:43:22.120381 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2025-02-01T22:43:22.165502 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/15/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.192991 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.193261 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.193606 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.193923 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.194221 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.194511 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.194789 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.242968 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.256930 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-01T22:43:22.257319 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-01T22:43:22.257663 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-01T22:43:22.258234 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

2025/02/01 22:43:23 socat[33] E connect(, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Connection refused
I, [2025-02-01T22:43:23.856313 #1]  INFO -- : Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

I, [2025-02-01T22:43:23.856538 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main
I, [2025-02-01T22:43:23.865162 #1]  INFO -- : File > /usr/local/bin/create_db  chmod: +x  chown:
I, [2025-02-01T22:43:23.909221 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2025-02-01T22:43:23.913112 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2025-02-01T22:43:23.913287 #1]  INFO -- : > sleep 5
2025-02-01 22:43:25.004 UTC [35] FATAL:  database files are incompatible with server
2025-02-01 22:43:25.004 UTC [35] DETAIL:  The data directory was initialized by PostgreSQL version 13, which is not compatible with this version 15.10 (Debian 15.10-1.pgdg120+1).

У меня та же ошибка, у меня тоже всё ещё не работает

Я пробовал:

  • ./discourse-doctor, но безрезультатно
  • затем подумал, что какие-то порты заняты, но netstat не показывает процессов, использующих эти порты; затем перезапустил экземпляр, чтобы начать заново и пересобрать приложение, но всё равно безрезультатно

I, [2025-02-02T00:20:43.491510 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres уже запущен, остановите контейнер ; exit 1
fi

2025/02/02 00:20:46 socat[33] E connect(, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Connection refused
I, [2025-02-02T00:20:46.466110 #1]  INFO -- : Генерация локалей (это может занять некоторое время)...
  en_US.UTF-8... готово
Генерация завершена.

I, [2025-02-02T00:20:46.467179 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main
I, [2025-02-02T00:20:46.480451 #1]  INFO -- : Файл > /usr/local/bin/create_db  chmod: +x  chown:
I, [2025-02-02T00:20:46.497621 #1]  INFO -- : Файл > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2025-02-02T00:20:46.504526 #1]  INFO -- : Файл > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2025-02-02T00:20:46.505484 #1]  INFO -- : > sleep 5
2025-02-02 00:20:46.647 UTC [35] FATAL:  файлы базы данных несовместимы с сервером
2025-02-02 00:20:46.647 UTC [35] DETAIL:  каталог данных был инициализирован PostgreSQL версии 13, которая не совместима с этой версией 15.10 (Debian 15.10-1.pgdg120+1).
I, [2025-02-02T00:20:51.511155 #1]  INFO -- :
I, [2025-02-02T00:20:51.511342 #1]  INFO -- : > /usr/local/bin/create_db
createdb: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?
I, [2025-02-02T00:20:52.474702 #1]  INFO -- :
I, [2025-02-02T00:20:52.475371 #1]  INFO -- : > echo postgres установлен!
I, [2025-02-02T00:20:52.478084 #1]  INFO -- : postgres установлен!

и

I, [2025-02-02T00:05:22.648865 #1]  INFO -- : > sleep 5
2025-02-02 00:05:22.792 UTC [35] FATAL:  файлы базы данных несовместимы с сервером
2025-02-02 00:05:22.792 UTC [35] DETAIL:  каталог данных был инициализирован PostgreSQL версии 13, которая не совместима с этой версией 15.10 (Debian 15.10-1.pgdg120+1).
I, [2025-02-02T00:05:27.657230 #1]  INFO -- :
I, [2025-02-02T00:05:27.657387 #1]  INFO -- : > /usr/local/bin/create_db


481:M 02 Feb 2025 00:07:05.174 # Не удалось прослушивать порт 6379 (TCP), прерывание.

I, [2025-02-02T00:13:38.491603 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
СРОЧНО: Не удалось инициализировать настройки по умолчанию сайта: ActiveRecord::ConnectionNotEstablished подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?


rake aborted!
ActiveRecord::ConnectionNotEstablished: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused (ActiveRecord::ConnectionNotEstablished)
	Запущен ли сервер локально и принимает ли он подключения через этот сокет?


Причина:
PG::ConnectionBad: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: Connection refused (PG::ConnectionBad)
	Запущен ли сервер локально и принимает ли он подключения через этот сокет? 

У меня тоже так.
Я только что проверил, и на моём сервере есть этот файл, при этом у меня возникают ошибки при пересборке.

postgres@ubuntu-s-1vcpu-1gb-nyc3-01-app:/var/www/discourse$ ls -al /shared/postgres_run/.s.PGSQL.5432
srwxrwxrwx 1 postgres postgres 0 Feb  2 03:24 /shared/postgres_run/.s.PGSQL.5432

Привет, @xFocus и @schneeland :wave:

Корректно ли завершается работа базы данных при остановке контейнера app? В логах должно быть сообщение, аналогичное выводу в первом посте.

1 лайк

Попытался обойти проблему с этим файлом, но не удалось

mv /shared/postgres_run/.s.PGSQL.5432 /shared/postgres_run/.s.PGSQL.5432.2025Feb1BackUp


root@ubuntu-s-1vcpu-1gb-nyc3-01-app:/var/www/discourse# ls -al /shared/postgres_run/.s.PGSQL.5432*
srwxrwxrwx 1 postgres postgres  0 Feb  2 03:24 /shared/postgres_run/.s.PGSQL.5432.2025Feb1BackUp
-rw------- 1 postgres postgres 62 Feb  2 03:24 /shared/postgres_run/.s.PGSQL.5432.lock

Затем повторная сборка снова не удалась: «The source cluster was not shut down cleanly» (исходный кластер не был корректно остановлен).
@mwaniki

Stopping PostgreSQL 13 database server: main.
Stopping PostgreSQL 15 database server: main.
Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok

The source cluster was not shut down cleanly.
Failure, exiting
-------------------------------------------------------------------------------------
UPGRADE OF POSTGRES FAILED

Please visit https://meta.discourse.org/t/postgresql-15-update/349515 for support.

You can run ./launcher start app to restart your app in the meanwhile



FAILED
--------------------
Pups::ExecError: if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi
 failed with return #<Process::Status: pid 18 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n  /root/install_postgres && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1\nfi\n"}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
931142f4cf49942fb3faf0676818c6395376c9fb6c76008d82037b0b76ae7111

Я попробовал снова запустить и остановить

root@ubuntu-s-1vcpu-1gb-nyc3-01:/var/discourse# ./launcher start app
x86_64 arch detected.

starting up existing container
+ /usr/bin/docker start app
app
root@ubuntu-s-1vcpu-1gb-nyc3-01:/var/discourse# ./launcher stop app
x86_64 arch detected.
+ /usr/bin/docker stop -t 600 app
app

но у меня нет этого файла журнала… это тревожно?
спасибо, Мваники :slight_smile:

root@ubuntu-s-1vcpu-1gb-nyc3-01:/var/discourse# tail -f shared/data/log/var-log/postgres/current
tail: cannot open 'shared/data/log/var-log/postgres/current' for reading: No such file or directory
tail: no files remaining

Да, это была опечатка. Можешь проверить shared/standalone/log/var-log/postgres/current? Я только что обновил первое сообщение. :slight_smile:

1 лайк

Правильно, я не видел в логе запись LOG: database system is shut down

Ниже то, что я получил после выполнения ./launcher stop app. Думаю, именно поэтому при моей пересборке возникла ошибка, указывающая, что порт PostgreSQL уже занят.

2025-02-02 04:37:09.801 UTC [542] LOG:  запуск PostgreSQL 13.18 (Debian 13.18-1.pgdg120+1) на x86_64-pc-linux-gnu, скомпилировано с помощью gcc (Debian 12.2.0-14) 12.2.0, 64-бит
2025-02-02 04:37:09.804 UTC [542] LOG:  прослушивание IPv4-адреса "0.0.0.0", порт 5432
2025-02-02 04:37:09.806 UTC [542] LOG:  прослушивание IPv6-адреса "::", порт 5432
2025-02-02 04:37:09.820 UTC [542] LOG:  прослушивание Unix-сокета "/var/run/postgresql/.s.PGSQL.5432"
2025-02-02 04:37:09.851 UTC [562] LOG:  система баз данных была прервана; последнее известное состояние активности на 2025-02-02 04:31:58 UTC
2025-02-02 04:37:10.267 UTC [562] LOG:  система баз данных не была корректно остановлена; выполняется автоматическое восстановление
2025-02-02 04:37:10.278 UTC [562] LOG:  начало redo в 2/DB0AFFE0
2025-02-02 04:37:10.280 UTC [562] LOG:  недопустимая длина записи в 2/DB0B5958: ожидалось 24, получено 0
2025-02-02 04:37:10.280 UTC [562] LOG:  redo завершено в 2/DB0B3990
2025-02-02 04:37:10.349 UTC [542] LOG:  система баз данных готова принимать подключения
2025-02-02 04:38:08.161 UTC [1345] discourse@discourse LOG:  длительность: 101.966 мс  bind <unnamed>: SELECT "posts"."id", "posts"."user_id", "posts"."topic_id", "posts"."post_number", "posts"."raw", "posts"."cooked", "posts"."created_at", "posts"."updated_at", "posts"."reply_to_post_number", "posts"."reply_count", "posts"."quote_count", "posts"."deleted_at", "posts"."off_topic_count", "posts"."like_count", "posts"."incoming_link_count", "posts"."bookmark_count", "posts"."score", "posts"."reads", "posts"."post_type", "posts"."sort_order", "posts"."last_editor_id", "posts"."hidden", "posts"."hidden_reason_id", "posts"."notify_moderators_count", "posts"."spam_count", "posts"."illegal_count", "posts"."inappropriate_count", "posts"."last_version_at", "posts"."user_deleted", "posts"."reply_to_user_id", "posts"."percent_rank", "posts"."notify_user_count", "posts"."like_score", "posts"."deleted_by_id", "posts"."edit_reason", "posts"."word_count", "posts"."version", "posts"."cook_method", "posts"."wiki", "posts"."baked_at", "posts"."baked_version", "posts"."hidden_at", "posts"."self_edits", "posts"."reply_quoted", "posts"."via_email", "posts"."raw_email", "posts"."public_version", "posts"."action_code", "posts"."locked_by_id", "posts"."image_upload_id", "posts"."outbound_message_id", "posts"."qa_vote_count" FROM "posts" WHERE "posts"."deleted_at" IS NULL ORDER BY "posts"."id" ASC LIMIT 1
2025-02-02 04:38:10.917 UTC [1341] discourse@discourse LOG:  длительность: 238.937 мс  statement: WITH tags_included_cte AS (