Когда я пытаюсь выполнить команду ./launcher rebuild app, скрипт, похоже, удаляет уже установленную PostgreSQL v10 и пытается переустановить v9.5, после чего блокируется на выполнении запросов.
./launcher rebuild app
Проверка актуальности лаунчера
Получение изменений из origin
Лаунчер актуален
Остановка старого контейнера
+ /usr/bin/docker stop -t 10 app
app
cd /pups && git pull && /pups/bin/pups --stdin
Уже актуально.
I, [2020-05-08T10:12:43.767891 #1] INFO -- : Загрузка --stdin
I, [2020-05-08T10:12:43.782184 #1] INFO -- : > apt-get remove -y postgresql-10 postgresql-client-10 postgresql-contrib-10
I, [2020-05-08T10:12:46.569346 #1] INFO -- : Чтение списков пакетов...
Построение дерева зависимостей...
Чтение информации о состоянии...
Следующие пакеты будут УДАЛЕНЫ:
postgresql-10 postgresql-client-10
Обновлено 0, установлено новых 0, удалено 2, не обновлено 0.
После этой операции освободится 30,6 МБ дискового пространства.
(Чтение базы данных ... на данный момент установлено 42938 файлов и каталогов.)
Удаление postgresql-10 (10.12-2.pgdg100+1) ...
invoke-rc.d: не удалось определить текущий уровень выполнения
invoke-rc.d: политика policy-rc.d запретила выполнение остановки.
Удаление postgresql-client-10 (10.12-2.pgdg100+1) ...
Обработка триггеров для postgresql-common (213.pgdg100+1) ...
Создание словарей PostgreSQL из установленных пакетов myspell/hunspell...
Удаление устаревших файлов словарей:
I, [2020-05-08T10:12:46.570949 #1] INFO -- : > apt-get update && apt-get install -y postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
debconf: отложено конфигурирование пакетов, так как apt-utils не установлен
I, [2020-05-08T10:12:57.347153 #1] INFO -- : Получение:1 http://security.debian.org/debian-security buster/updates InRelease [65,4 КБ]
Уже есть:2 http://deb.debian.org/debian buster InRelease
Получение:3 http://deb.debian.org/debian buster-updates InRelease [49,3 КБ]
Получение:4 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [84,4 КБ]
Уже есть:5 https://deb.nodesource.com/node_10.x buster InRelease
Получение:6 http://security.debian.org/debian-security buster/updates/main amd64 Packages [197 КБ]
Получение:7 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [168 КБ]
Получено 564 КБ за 1 с (543 КБ/с)
Чтение списков пакетов...
Чтение списков пакетов...
Построение дерева зависимостей...
Чтение информации о состоянии...
Рекомендуемые пакеты:
postgresql-doc-9.5 libdbd-pg-perl
Следующие НОВЫЕ пакеты будут установлены:
postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
Обновлено 0, установлено новых 3, удалено 0, не обновлено 0.
Необходимо загрузить 5 700 КБ архивов.
После этой операции будет использовано дополнительно 27,2 МБ дискового пространства.
Получение:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-9.5 amd64 9.5.21-2.pgdg100+1 [1 249 КБ]
Получение:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-9.5 amd64 9.5.21-2.pgdg100+1 [3 988 КБ]
Получение:3 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-contrib-9.5 amd64 9.5.21-2.pgdg100+1 [463 КБ]
Получено 5 700 КБ за 0 с (30,5 МБ/с)
Выбор ранее не выбранного пакета postgresql-client-9.5.
(Чтение базы данных ... на данный момент установлено 42096 файлов и каталогов.)
Подготовка к распаковке .../postgresql-client-9.5_9.5.21-2.pgdg100+1_amd64.deb ...
Распаковка postgresql-client-9.5 (9.5.21-2.pgdg100+1) ...
Выбор ранее не выбранного пакета postgresql-9.5.
Подготовка к распаковке .../postgresql-9.5_9.5.21-2.pgdg100+1_amd64.deb ...
Распаковка postgresql-9.5 (9.5.21-2.pgdg100+1) ...
Выбор ранее не выбранного пакета postgresql-contrib-9.5.
Подготовка к распаковке .../postgresql-contrib-9.5_9.5.21-2.pgdg100+1_amd64.deb ...
Распаковка postgresql-contrib-9.5 (9.5.21-2.pgdg100+1) ...
Настройка postgresql-client-9.5 (9.5.21-2.pgdg100+1) ...
update-alternatives: использование /usr/share/postgresql/9.5/man/man1/psql.1.gz для предоставления /usr/share/man/man1/psql.1.gz (psql.1.gz) в автоматическом режиме
Настройка postgresql-9.5 (9.5.21-2.pgdg100+1) ...
Создание нового кластера PostgreSQL 9.5/main ...
/usr/lib/postgresql/9.5/bin/initdb -D /var/lib/postgresql/9.5/main --auth-local peer --auth-host md5
Файлы, принадлежащие этой системе баз данных, будут принадлежать пользователю «postgres».
Этот пользователь также должен быть владельцем процесса сервера.
Кластер баз данных будет инициализирован с локали «C.UTF-8».
Кодировка базы данных по умолчанию соответственно установлена в «UTF8».
Конфигурация поиска текста по умолчанию будет установлена в «english».
Контрольные суммы страниц данных отключены.
Исправление прав доступа в существующем каталоге /var/lib/postgresql/9.5/main ... ok
создание подкаталогов ... ok
выбор значения max_connections по умолчанию ... 100
выбор значения shared_buffers по умолчанию ... 128 МБ
выбор часового пояса по умолчанию ... Etc/UTC
выбор реализации динамической разделяемой памяти ... posix
создание файлов конфигурации ... ok
создание базы данных template1 в /var/lib/postgresql/9.5/main/base/1 ... ok
инициализация pg_authid ... ok
инициализация зависимостей ... ok
создание системных представлений ... ok
загрузка описаний системных объектов ... ok
создание колляций ... ok
создание конвертаций ... ok
создание словарей ... ok
установка привилегий на встроенные объекты ... ok
создание информационной схемы ... ok
загрузка серверного языка PL/pgSQL ... ok
vacuum базы данных template1 ... ok
копирование template1 в template0 ... ok
копирование template1 в postgres ... ok
синхронизация данных на диск ... ok
Успешно. Теперь вы можете запустить сервер баз данных, используя:
/usr/lib/postgresql/9.5/bin/pg_ctl -D /var/lib/postgresql/9.5/main -l logfile start
Версия Кластер Порт Статус Владелец Каталог данных Файл журнала
9.5 main 5433 down postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
update-alternatives: использование /usr/share/postgresql/9.5/man/man1/postmaster.1.gz для предоставления /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) в автоматическом режиме
invoke-rc.d: не удалось определить текущий уровень выполнения
invoke-rc.d: политика policy-rc.d запретила выполнение запуска.
Настройка postgresql-contrib-9.5 (9.5.21-2.pgdg100+1) ...
Обработка триггеров для postgresql-common (213.pgdg100+1) ...
Создание словарей PostgreSQL из установленных пакетов myspell/hunspell...
Удаление устаревших файлов словарей:
I, [2020-05-08T10:12:57.348808 #1] INFO -- : > mkdir -p /shared/postgres_run
I, [2020-05-08T10:12:57.352684 #1] INFO -- :
I, [2020-05-08T10:12:57.353381 #1] INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-05-08T10:12:57.357476 #1] INFO -- :
I, [2020-05-08T10:12:57.358473 #1] INFO -- : > chmod 775 /shared/postgres_run
I, [2020-05-08T10:12:57.362147 #1] INFO -- :
I, [2020-05-08T10:12:57.362866 #1] INFO -- : > rm -fr /var/run/postgresql
I, [2020-05-08T10:12:57.366500 #1] INFO -- :
I, [2020-05-08T10:12:57.367283 #1] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-05-08T10:12:57.370661 #1] INFO -- :
I, [2020-05-08T10:12:57.371341 #1] INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres уже запущен, остановка контейнера ; exit 1
2020/05/08 10:12:57 socat[1583] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Нет такого файла или каталога
I, [2020-05-08T10:12:57.378628 #1] INFO -- :
I, [2020-05-08T10:12:57.379219 #1] INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-05-08T10:12:57.382871 #1] INFO -- :
I, [2020-05-08T10:12:57.383391 #1] INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-05-08T10:12:57.387099 #1] INFO -- :
I, [2020-05-08T10:12:57.387666 #1] INFO -- : > mkdir -p /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2020-05-08T10:12:57.390634 #1] INFO -- :
I, [2020-05-08T10:12:57.391391 #1] INFO -- : > chown postgres:postgres /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2020-05-08T10:12:57.394278 #1] INFO -- :
I, [2020-05-08T10:12:57.401477 #1] INFO -- : Файл > /etc/service/postgres/run chmod: +x chown:
I, [2020-05-08T10:12:57.408202 #1] INFO -- : Файл > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2020-05-08T10:12:57.409009 #1] INFO -- : > chown -R root /var/lib/postgresql/9.5/main
I, [2020-05-08T10:12:57.422867 #1] INFO -- :
I, [2020-05-08T10:12:57.423930 #1] INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/9.5/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-05-08T10:12:57.426672 #1] INFO -- :
I, [2020-05-08T10:12:57.427242 #1] INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-05-08T10:12:57.462928 #1] INFO -- :
I, [2020-05-08T10:12:57.464158 #1] INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-05-08T10:12:57.467828 #1] INFO -- :
I, [2020-05-08T10:12:57.468624 #1] INFO -- : Замена data_directory = '/var/lib/postgresql/9.5/main' на data_directory = '/shared/postgres_data' в /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-08T10:12:57.469564 #1] INFO -- : Замена (?-mix:#?listen_addresses *=.*) на listen_addresses = '*' в /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-08T10:12:57.470341 #1] INFO -- : Замена (?-mix:#?synchronous_commit *=.*) на synchronous_commit = $db_synchronous_commit в /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-08T10:12:57.471161 #1] INFO -- : Замена (?-mix:#?shared_buffers *=.*) на shared_buffers = $db_shared_buffers в /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-08T10:12:57.471959 #1] INFO -- : Замена (?-mix:#?work_mem *=.*) на work_mem = $db_work_mem в /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-08T10:12:57.472759 #1] INFO -- : Замена (?-mix:#?default_text_search_config *=.*) на default_text_search_config = '$db_default_text_search_config' в /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-08T10:12:57.473527 #1] INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2020-05-08T10:12:57.477638 #1] INFO -- :
I, [2020-05-08T10:12:57.478527 #1] INFO -- : Замена (?-mix:#?max_wal_senders *=.*) на max_wal_senders = $db_max_wal_senders в /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-08T10:12:57.479383 #1] INFO -- : Замена (?-mix:#?wal_level *=.*) на wal_level = $db_wal_level в /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-08T10:12:57.480297 #1] INFO -- : Замена (?-mix:#?checkpoint_segments *=.*) на checkpoint_segments = $db_checkpoint_segments в /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-08T10:12:57.481086 #1] INFO -- : Замена (?-mix:#?logging_collector *=.*) на logging_collector = $db_logging_collector в /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-08T10:12:57.481922 #1] INFO -- : Замена (?-mix:#?log_min_duration_statement *=.*) на log_min_duration_statement = $db_log_min_duration_statement в /etc/postgresql/9.5/main/postgresql.conf
I, [2020-05-08T10:12:57.482800 #1] INFO -- : Замена (?-mix:^#local +replication +postgres +peer$) на local replication postgres peer в /etc/postgresql/9.5/main/pg_hba.conf
I, [2020-05-08T10:12:57.483651 #1] INFO -- : Замена (?-mix:^host.*all.*all.*127.*$) на host all all 0.0.0.0/0 md5 в /etc/postgresql/9.5/main/pg_hba.conf
I, [2020-05-08T10:12:57.484408 #1] INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.5/bin/postmaster -D /etc/postgresql/9.5/main
I, [2020-05-08T10:12:57.486842 #1] INFO -- : > sleep 5
2020-05-08 10:12:57.553 UTC [1602] LOG: система баз данных была выключена в 2020-05-08 10:04:26 UTC
2020-05-08 10:12:57.556 UTC [1602] LOG: теперь включена защита от переполнения MultiXact member
2020-05-08 10:12:57.560 UTC [1599] LOG: система баз данных готова принимать подключения
2020-05-08 10:12:57.561 UTC [1606] LOG: запущен запускщик autovacuum
I, [2020-05-08T10:13:02.496896 #1] INFO -- :
I, [2020-05-08T10:13:02.497338 #1] INFO -- : > su postgres -c 'createdb discourse' || true
Ошибка: PostgreSQL версии 10 не установлен
I, [2020-05-08T10:13:02.581202 #1] INFO -- :
I, [2020-05-08T10:13:02.581940 #1] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
Ошибка: PostgreSQL версии 10 не установлен
I, [2020-05-08T10:13:02.646709 #1] INFO -- :
I, [2020-05-08T10:13:02.647394 #1] INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
Ошибка: PostgreSQL версии 10 не установлен
I, [2020-05-08T10:13:02.719733 #1] INFO -- :
I, [2020-05-08T10:13:02.720430 #1] INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
Ошибка: PostgreSQL версии 10 не установлен
I, [2020-05-08T10:13:02.784568 #1] INFO -- :
I, [2020-05-08T10:13:02.785461 #1] INFO -- : Завершение асинхронных процессов
I, [2020-05-08T10:13:02.785916 #1] INFO -- : Отправка сигнала INT процессу HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.5/bin/postmaster -D /etc/postgresql/9.5/main pid: 1599
2020-05-08 10:13:02.786 UTC [1599] LOG: получен запрос на быстрое завершение работы
2020-05-08 10:13:02.786 UTC [1599] LOG: отмена всех активных транзакций
2020-05-08 10:13:02.787 UTC [1606] LOG: запускщик autovacuum завершает работу
2020-05-08 10:13:02.793 UTC [1603] LOG: завершение работы
2020-05-08 10:13:02.798 UTC [1603] LOG: система баз данных выключена
ОШИБКА
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' завершилась с ошибкой, код возврата #<Process::Status: pid 1617 exit 1>
Место возникновения ошибки: /pups/lib/pups/exec_command.rb:112:in `spawn'
выполнение не удалось с параметрами "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
7830e2259ebf66011b6d9f2882ecfc3d204f354ee965ccdc06126682b0fab6d1
** ИНИЦИАЛИЗАЦИЯ НЕ УДАЛАСЬ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь в диагностике проблемы.