Если вы видите в логах PostgreSQL сообщения
автоочистка: найдена устаревшая врем. таблица "pg_temp_X"."ttXX" в базе "database"
или
autovacuum: found orphan temp table "pg_temp_XX"."ttXX" in database "database"
это значит, что 1С не убрала за собой временную таблицу. PostgreSQL автоматически чистит такие таблицы автовакумом, но пока он доберется до проблемы может пройти много времени. Были случаи, когда лог-файлы забивали диск, вызывая падение СУБД.
Полностью подавить запись в лог подобных сообщений можно с помощью директивы в конфигурационном файле:
log_min_messages = fatal
но тогда есть шанс пропустить важные сообщения. Данный скрипт парсит лог и дропает проблемные таблицы.
Перед запуском сделайте бэкап и остановите 1C сервер!
Как пользоваться:
# git clone https://github.com/zhilchenko/pg_purgeorphan.git
# cd pg_purgeorphan
# sudo -u postgres `pwd`/pg_purgeorphan /var/log/postgresql/postgresql-9.2-main.log
Для использования в cron есть ключ -q, подавляющий вывод сообщений и запрос подтверждения.
Спасибо. Зарешаю эту проблему на одном сервере сегодня вечерком.
(1) Данный скрипт решил ваш вопрос?
(2) да, последствия неудачного обновления устранены…
(3) проблемы в ходе запуска были?