Ubuntu 18.04 — PostgreSQL 10 FATAL: could not access file «online_analyze»

PostgreSQL 10 FATAL: could not access file «online_analyze» — Ничего не предвещало беды да? Всё шло своим чередом, сервер PostgreSQL 10 для 1C работал в штатном режиме, бухгалтера стадами набигали на 1Сные сервера, делали свои грязные дела, а жалоб никаких не было?. И вот ты уже сидишь обтекая потом гуглишь что же пошло не так? Почему не запускается сервер PostgreSQL 10? А команда sudo service postgresql start оставляет примерно следующие ошибки:

Смотрим syslog cat /var/log/syslog

Mar 25 07:37:30 ag-psql10-s2 systemd[1]: Starting PostgreSQL Cluster 10-main...
Mar 25 07:37:30 ag-psql10-s2 postgresql@10-main[29342]: Error: /usr/lib/postgresql/10/bin/pg_ctl /usr/lib/postgresql/10/bin/pg_ctl start -D /var/lib/postgresql/10/main -l /var/log/postgresql/postgresql-10-main.log -s -o  -c config_file="/etc/postgresql/10/main/postgresql.conf"  exited with status 1:
Mar 25 07:37:30 ag-psql10-s2 postgresql@10-main[29342]: 2019-03-25 07:37:30.624 UTC [29347] FATAL:  could not access file "online_analyze": No such file or directory
Mar 25 07:37:30 ag-psql10-s2 postgresql@10-main[29342]: 2019-03-25 07:37:30.624 UTC [29347] LOG:  database system is shut down
Mar 25 07:37:30 ag-psql10-s2 postgresql@10-main[29342]: pg_ctl: could not start server
Mar 25 07:37:30 ag-psql10-s2 postgresql@10-main[29342]: Examine the log output.
Mar 25 07:37:30 ag-psql10-s2 systemd[1]: postgresql@10-main.service: Can't open PID file /var/run/postgresql/10-main.pid (yet?) after start: No such file or directory
Mar 25 07:37:30 ag-psql10-s2 systemd[1]: postgresql@10-main.service: Failed with result 'protocol'.
Mar 25 07:37:30 ag-psql10-s2 systemd[1]: Failed to start PostgreSQL Cluster 10-main.

Смотрим postgresql-10-mail.log cat /var/log/postgresql/postgresql-10-main.log(путь к лог файлу можно подсмотреть в логу полученном из syslog)

2019-03-25 07:37:30.624 UTC [29347] FATAL:  could not access file "online_analyze": No such file or directory
2019-03-25 07:37:30.624 UTC [29347] LOG:  database system is shut down
pg_ctl: could not start server
Examine the log output.

Везде фигурирует эта злосчастная PostgreSQL 10 FATAL. Всё просто, пакеты postgresql 10 от 1C не являются официальными сборками включенными в официальный репозиторий и поэтому, при очередном автообновлении, убунту каждый раз будет заменять их на истинно верные пакеты из репозитория, которые в свою очередь не подходят для работы 1С.

  1. Проверка установленных пакетов

    Вводим команду

    dpkg --list

    И видим примерно следующее:

    ii  libpq5:amd64            10.6-0ubuntu0.18 amd64            PostgreSQL C client library
    ii  postgresql-10           10.6-0ubuntu0.18 amd64            object-relational SQL database, version 10 server
    ii  postgresql-client-10    10.6-0ubuntu0.18 amd64            front-end programs for PostgreSQL 10
    

    Версии всех пакетов: 10.6-0ubuntu0.18

    Тогда как пред нашими очами должно было предстать следующее зрелище

    hi  libpq5:amd64            10.5-24.1C       amd64            PostgreSQL C client library
    hi  postgresql-10           10.5-24.1C       amd64            object-relational SQL database, version 10 server
    hi  postgresql-client-10    10.5-24.1C       amd64            front-end programs for PostgreSQL 10

    Если например мы ставили скачанную с сайта ИТС, «PostgreSQL, версия 10.5-24.1C», то в колонке версии, будет указано тоже самое. Если там что-то другое, значит система обновила пакет из репозитория.
    Так же нужно обратить внимание на маркер hi в начале каждой строки с правильным вариантом. Это означает зафиксировать[h] и установлен[i]. В варианте с неправильными версиями фиксация отсутствовала.

  2.  Переустанавливаем пакеты PostgreSQL 10

    1. Останавливаем postgresql

      sudo service postgresql stop
    2. Загружаем архив с версией PostrgeSQL 10 от 1C на наш сервер в /tmp

      WinSCP работаем с файлами Linux сервера через SFTP

    3. Извлекаем архив

      cd /tmp
      tar -xvf ./postgresql_10.5_24.1C_amd64_deb.tar.bz2

      Надо понимать что у вас вероятно имя архива уже будет отличаться т.к. новые версии выходят достаточно регулярно и ставить надо именно их.

    4. Переходим в извлеченную папку и устанавливаем все пакеты в ней

      adminguide@ag-psql10-s2:/tmp/postgresql-10.5-24.1C_amd64_deb$ sudo dpkg -i ./*.deb
      dpkg: предупреждение: снижение версии libpq5:amd64 с 10.6-0ubuntu0.18.04.1 до 10.5-24.1C
      (Чтение базы данных … на данный момент установлено 138702 файла и каталога.)
      Подготовка к распаковке ./libpq5_10.5-24.1C_amd64.deb …
      Распаковывается libpq5:amd64 (10.5-24.1C) на замену (10.6-0ubuntu0.18.04.1) …
      dpkg: предупреждение: снижение версии postgresql-10 с 10.6-0ubuntu0.18.04.1 до 10.5-24.1C
      Подготовка к распаковке …/postgresql-10_10.5-24.1C_amd64.deb …
      Распаковывается postgresql-10 (10.5-24.1C) на замену (10.6-0ubuntu0.18.04.1) …
      dpkg: предупреждение: снижение версии postgresql-client-10 с 10.6-0ubuntu0.18.04.1 до 10.5-24.1C
      Подготовка к распаковке …/postgresql-client-10_10.5-24.1C_amd64.deb …
      Распаковывается postgresql-client-10 (10.5-24.1C) на замену (10.6-0ubuntu0.18.04.1) …
      Настраивается пакет libpq5:amd64 (10.5-24.1C) …
      Настраивается пакет postgresql-client-10 (10.5-24.1C) …
      Настраивается пакет postgresql-10 (10.5-24.1C) …
      Обрабатываются триггеры для libc-bin (2.27-3ubuntu1) …
      Обрабатываются триггеры для postgresql-common (190) …
      Building PostgreSQL dictionaries from installed myspell/hunspell packages...
      Removing obsolete dictionary files:
      

      Как видно, система предупредит вас о том что происходят снижение версий пакетов но все выполнит.
      Теперь по результатам dpkg --list видно что везде указана наша версия: 10.5-24.1C, но пока что с маркерами [ii]

  3. Фиксируем установленные пакеты в системе

        sudo apt-mark hold libpq5
        sudo apt-mark hold postgresql-client-10
        sudo apt-mark hold postgresql-10

    Снова смотрим dpkg --list и уже видим маркер [hi]. Так же для просмотра списка всех hold пакетов в системе можно использовать команду apt-mark showhold

Text.ru - 100.00%

Related

PostgreSQL 10 - Потоковая репликация с отработкой фейловера. Данная запись посвящается исключительно "Потоковой репликации", не архивированию, не логической репликации, не восстановлению из бэкапа. Тут описывается потоковая репликация, настройка одного мастера, одного слейва. Continue reading

Таки уже больше чем пол года прошло с того момента как 1C научилась из коробки работать с PostgreSQL 10, да и вышла Ubuntu 18.04. Значит пришла пора обновить статью Установка PostgreSQL 9.6 для 1C на Ubuntu 16.04 и речь у нас пойдет о том, что установка PostgreSQL 10 для 1С на Ubuntu 18.04 хоть и имеет несколько. Continue reading

Админите линуксовые сервера с мастдая? Дело достаточно распространенное ибо должен же админ хоть иногда играть в какие-нибудь игрушки, а что для этого подходит лучше чем мастдай? Ничего абсолютно :). Но вернемся к насущному вопросу. Как удобнее всего перемещать файлы на. Continue reading

Думаю если вы попали на эту страницу, значит тем или иным путем пришли к выводу о том, что необходимо настроить систему централизованного управления учетными записями в локальной сети вашего предприятия, скорее всего это контроллер домена на Ubuntu или Windows. У вас как обычно 3. Continue reading

JOIN THE DISCUSSION

Comments

  • and 29.06.2019 at 17:10

    спасибо, выручил 🙂

    Reply
  • Anon 14.07.2019 at 13:49

    Большое спасибо!
    Чуть не поседел, когда с утра увидел.
    Для тех, кто только начал работать с Postgre и переживает за сохранность базы:
    ДАННЫЕ НИКУДА НЕ ДЕНУТСЯ

    Reply