./launcher rebuild data
Обнаружена архитектура x86_64.
Проверка актуальности лаунчера
Лаунчер актуален
2.0.20250129-0720: Загрузка из docker-hub-china/discourse-base
Digest: sha256:d798a945ca4d31c29e5d263cdaf807bafab9b5f6737be0b1b852bea0063a3b91
Статус: Образ актуален для registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/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-06T04:49:43.809493 #1] INFO -- : Чтение из stdin
I, [2025-02-06T04:49:43.812252 #1] INFO -- : Пропущен отсутствующий хук before_code
I, [2025-02-06T04:49:43.812294 #1] INFO -- : Пропущен отсутствующий хук before_db_migrate
I, [2025-02-06T04:49:43.812309 #1] INFO -- : Пропущен отсутствующий хук after_code
I, [2025-02-06T04:49:43.816721 #1] INFO -- : Файл > /etc/service/postgres/run chmod: +x chown:
I, [2025-02-06T04:49:43.820580 #1] INFO -- : Файл > /etc/service/postgres/log/run chmod: +x chown:
I, [2025-02-06T04:49:43.824283 #1] INFO -- : Файл > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2025-02-06T04:49:43.827979 #1] INFO -- : Файл > /root/install_postgres chmod: +x chown:
I, [2025-02-06T04:49:43.832007 #1] INFO -- : Файл > /root/upgrade_postgres chmod: +x chown:
I, [2025-02-06T04:49:43.832273 #1] INFO -- : Замена data_directory = '/var/lib/postgresql/15/main' на data_directory = '/shared/postgres_data' в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.832904 #1] INFO -- : Замена (?-mix:#?listen_addresses *=.*) на listen_addresses = '*' в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.833313 #1] INFO -- : Замена (?-mix:#?synchronous_commit *=.*) на synchronous_commit = $db_synchronous_commit в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.843122 #1] INFO -- : Замена (?-mix:#?shared_buffers *=.*) на shared_buffers = $db_shared_buffers в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.843548 #1] INFO -- : Замена (?-mix:#?work_mem *=.*) на work_mem = $db_work_mem в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.843885 #1] INFO -- : Замена (?-mix:#?default_text_search_config *=.*) на default_text_search_config = '$db_default_text_search_config' в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.844162 #1] INFO -- : Замена (?-mix:#?checkpoint_segments *=.*) на checkpoint_segments = $db_checkpoint_segments в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.844439 #1] INFO -- : Замена (?-mix:#?logging_collector *=.*) на logging_collector = $db_logging_collector в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.844732 #1] INFO -- : Замена (?-mix:#?log_min_duration_statement *=.*) на log_min_duration_statement = $db_log_min_duration_statement в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.845050 #1] INFO -- : Замена (?-mix:^#local +replication +postgres +peer$) на local replication postgres peer в /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T04:49:43.845283 #1] INFO -- : Замена (?-mix:^host.*all.*all.*127.*$) на host all all 0.0.0.0/0 md5 в /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T04:49:43.845505 #1] INFO -- : Замена (?-mix:^host.*all.*all.*::1\/128.*$) на host all all ::/0 md5 в /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T04:49:43.845723 #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/06 04:49:45 socat[33] E connect(, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Отказано в подключении
initdb: предупреждение: включена аутентификация "trust" для локальных подключений
initdb: подсказка: Вы можете изменить это, отредактировав pg_hba.conf или используя опцию -A, или --auth-local и --auth-host при следующем запуске initdb.
$ ./launcher enter data
Определена архитектура x86_64.
root@sober-data:/# export SVWAIT=300
sv stop nginx
sv stop unicorn
sv stop postgres
exit
fail: nginx: не удалось перейти в директорию сервиса: файл не существует
fail: unicorn: не удалось перейти в директорию сервиса: файл не существует
ok: down: postgres: 0s, обычно up
logout
Это означает, что вы были подключены к контейнеру. (Просто убедитесь, что контейнер web_only остается остановленным во время пересборки контейнера data.)
ok: down: postgres: 0s, normally up
Это вывод, который имеет значение. Это означает, что postgres теперь корректно остановлен, и вы можете продолжить со следующими шагами.
./launcher enter data
Обнаружена архитектура x86_64.
root@sober-data:/# sv stop postgres
ok: down: postgres: 0s, normally up
root@sober-data:/# exit
logout
root@sober:/var/discourse$ ./launcher rebuild data
Обнаружена архитектура x86_64.
Проверка актуальности лаунчера
Лаунчер актуален
Остановка старого контейнера
+ /usr/bin/docker stop -t 600 data
data
2.0.20250129-0720: Pulling from docker-hub-china/discourse-base
Digest: sha256:d798a945ca4d31c29e5d263cdaf807bafab9b5f6737be0b1b852bea0063a3b91
Status: Image is up to date for registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/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-06T06:19:20.379635 #1] INFO -- : Reading from stdin
I, [2025-02-06T06:19:20.380959 #1] INFO -- : Пропущен отсутствующий хук before_code
I, [2025-02-06T06:19:20.380976 #1] INFO -- : Пропущен отсутствующий хук before_db_migrate
I, [2025-02-06T06:19:20.380983 #1] INFO -- : Пропущен отсутствующий хук after_code
I, [2025-02-06T06:19:20.383923 #1] INFO -- : Файл > /etc/service/postgres/run chmod: +x chown:
I, [2025-02-06T06:19:20.386435 #1] INFO -- : Файл > /etc/service/postgres/log/run chmod: +x chown:
I, [2025-02-06T06:19:20.389343 #1] INFO -- : Файл > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2025-02-06T06:19:20.391719 #1] INFO -- : Файл > /root/install_postgres chmod: +x chown:
I, [2025-02-06T06:19:20.394375 #1] INFO -- : Файл > /root/upgrade_postgres chmod: +x chown:
I, [2025-02-06T06:19:20.394471 #1] INFO -- : Замена data_directory = '/var/lib/postgresql/15/main' на data_directory = '/shared/postgres_data' в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.394742 #1] INFO -- : Замена (?-mix:#?listen_addresses *=.*) на listen_addresses = '*' в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.394972 #1] INFO -- : Замена (?-mix:#?synchronous_commit *=.*) на synchronous_commit = $db_synchronous_commit в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395126 #1] INFO -- : Замена (?-mix:#?shared_buffers *=.*) на shared_buffers = $db_shared_buffers в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395261 #1] INFO -- : Замена (?-mix:#?work_mem *=.*) на work_mem = $db_work_mem в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395400 #1] INFO -- : Замена (?-mix:#?default_text_search_config *=.*) на default_text_search_config = '$db_default_text_search_config' в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395510 #1] INFO -- : Замена (?-mix:#?checkpoint_segments *=.*) на checkpoint_segments = $db_checkpoint_segments в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395622 #1] INFO -- : Замена (?-mix:#?logging_collector *=.*) на logging_collector = $db_logging_collector в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395723 #1] INFO -- : Замена (?-mix:#?log_min_duration_statement *=.*) на log_min_duration_statement = $db_log_min_duration_statement в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395845 #1] INFO -- : Замена (?-mix:^#local +replication +postgres +peer$) на local replication postgres peer в /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T06:19:20.395930 #1] INFO -- : Замена (?-mix:^host.*all.*all.*127.*$) на host all all 0.0.0.0/0 md5 в /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T06:19:20.396007 #1] INFO -- : Замена (?-mix:^host.*all.*all.*::1\/128.*$) на host all all ::/0 md5 в /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T06:19:20.396096 #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
initdb: предупреждение: включена аутентификация "trust" для локальных подключений
initdb: подсказка: Вы можете изменить это, отредактировав pg_hba.conf или используя опцию -A, или --auth-local и --auth-host при следующем запуске initdb.
Спасибо большое. Давайте вернемся к версии Docker и файлу postgres.template.yml
./launcher rebuild data
Обнаружена архитектура x86_64.
Проверка актуальности лаунчера
Лаунчер актуален
Остановка старого контейнера
+ /usr/bin/docker stop -t 600 data
data
2.0.20250129-0720: Загрузка образа из docker-hub-china/discourse-base
Амплитуда: sha256:d798a945ca4d31c29e5d263cdaf807bafab9b5f6737be0b1b852bea0063a3b91
Статус: Образ registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720 уже актуален
registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/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-06T07:02:42.768651 #1] INFO -- : Чтение из stdin
I, [2025-02-06T07:02:42.769907 #1] INFO -- : Пропущен отсутствующий хук before_code
I, [2025-02-06T07:02:42.769923 #1] INFO -- : Пропущен отсутствующий хук before_db_migrate
I, [2025-02-06T07:02:42.769933 #1] INFO -- : Пропущен отсутствующий хук after_code
I, [2025-02-06T07:02:42.772767 #1] INFO -- : Файл > /etc/service/postgres/run chmod: +x chown:
I, [2025-02-06T07:02:42.775230 #1] INFO -- : Файл > /etc/service/postgres/log/run chmod: +x chown:
I, [2025-02-06T07:02:42.777690 #1] INFO -- : Файл > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2025-02-06T07:02:42.779645 #1] INFO -- : Файл > /root/install_postgres chmod: +x chown:
I, [2025-02-06T07:02:42.781825 #1] INFO -- : Файл > /root/upgrade_postgres chmod: +x chown:
I, [2025-02-06T07:02:42.781974 #1] INFO -- : Замена data_directory = '/var/lib/postgresql/15/main' на data_directory = '/shared/postgres_data' в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782261 #1] INFO -- : Замена (?-mix:#?listen_addresses *=.*) на listen_addresses = '*' в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782427 #1] INFO -- : Замена (?-mix:#?synchronous_commit *=.*) на synchronous_commit = $db_synchronous_commit в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782551 #1] INFO -- : Замена (?-mix:#?shared_buffers *=.*) на shared_buffers = $db_shared_buffers в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782661 #1] INFO -- : Замена (?-mix:#?work_mem *=.*) на work_mem = $db_work_mem в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782762 #1] INFO -- : Замена (?-mix:#?default_text_search_config *=.*) на default_text_search_config = '$db_default_text_search_config' в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782877 #1] INFO -- : Замена (?-mix:#?checkpoint_segments *=.*) на checkpoint_segments = $db_checkpoint_segments в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782974 #1] INFO -- : Замена (?-mix:#?logging_collector *=.*) на logging_collector = $db_logging_collector в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.783076 #1] INFO -- : Замена (?-mix:#?log_min_duration_statement *=.*) на log_min_duration_statement = $db_log_min_duration_statement в /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.783180 #1] INFO -- : Замена (?-mix:^#local +replication +postgres +peer$) на local replication postgres peer в /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T07:02:42.783258 #1] INFO -- : Замена (?-mix:^host.*all.*all.*127.*$) на host all all 0.0.0.0/0 md5 в /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T07:02:42.783334 #1] INFO -- : Замена (?-mix:^host.*all.*all.*::1\/128.*$) на host all all ::/0 md5 в /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T07:02:42.783416 #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
initdb: предупреждение: включена аутентификация "trust" для локальных подключений
initdb: подсказка: Вы можете изменить это, отредактировав pg_hba.conf или используя опцию -A, или --auth-local и --auth-host при следующем запуске initdb.
Я перенёс ваши вопросы в новую тему. Полагаю, это связано с запуском обновления из Китая.
Судя по вашему логу, пересборка завершается неудачей на этапе apt-get update. Рекомендую использовать VPN для подключения вашего сервера к репозиториям apt.
Я также выполняю процесс ускорения китайской сети для apt-get update. Мне бы хотелось узнать, какие пакеты обновляются в основном при выполнении apt-get update.
Я бы предпочел узнать, в чём заключается корневая причина того, что подключение к /shared/postgres_run/.s.PGSQL.5432 не удаётся.
Можете ли вы получить доступ к репозиторию ниже с вашего сервера?
curl -v https://apt.postgresql.org/pub/repos/apt/
Этот репозиторий необходим для установки старых пакетов PostgreSQL, используемых во время обновления.
Это обычно происходит, когда база данных была завершена некорректно. Мы уже исправляли это ранее, когда вы запускали и останавливали контейнер data. В вашем последнем выводе журнала эта ошибка не отображается.
Вы имеете в виду, что версия PostgreSQL слишком устарела, что вызывает проблемы. Это обновление можно интегрировать в обработку Discourse/base в зеркале. Я использую зеркало Discourse/base: 2.0.20250129-0720.
Есть ли какие-либо проблемы с моим пониманием? Какая версия PostgreSQL работает корректно, а какая вызывает проблемы?
Или, возможно, проблема заключается в том, что используемое мной зеркало слишком новое, что вызывает проблемы при сборке данных. Мне нужно собрать данные, используя зеркало Discourse/base: 2.0.20250114-0014, чтобы адаптироваться к обновлению PostgreSQL.