Сбой в УТ10.3 + postgresql

1. Nikola_N 11.03.20 12:25 Сейчас в теме
Здравствуйте!
Используем Конфигурацию УТ10.3,
клиент-сервер, 64-бит
Версия предприятия 8.3.14.1779
Версия postgresql 10.10-4.1C
ОС Windows server 2008R2
Core i7 4770, 32GB ОЗУ, SSD
Работающих пользователей до 30

Вечером при перепроведении документов программистом 1С под администратором произошел сбой. С базой в этот момент кроме него никто не работал. По его словам из предприятия и из конфигуратора выкинуло.
лог postgresql прикрепил
После перезахода в базу выяснилось, что в журнале вообще не отображаются документы за даты с 29 февраля по 5 марта.
Т.к. до перепроведения был сделан бэкап в DT, решили развернуть его.
Кроме того, базу развернули в MSSQL Express из-за опасений повторения ошибки на postgresql.
Поиски в интернете показали, что подобная ошибка действительно специфична при работе с postgresql. Каких-то "железобетонных" рецептов ее избежать найти не удалось.

Прошу высказать Ваше мнение насчет дальнейшей работы. Мы сейчас решаем, стоит ли покупать полную версию MSSQL (экспресса хватит в лучшем случае до конца года) или пытаться остаться на postgresql. Сколько стоит mssql - понятно. Во что обойдутся попытки остаться с postgresql? Можно ли избежать таких сбоев при использовании postgresql?
Прикрепленные файлы:
pg.txt
Найденные решения
8. starik-2005 3166 11.03.20 18:04 Сейчас в теме
(7)
В журналах системы чисто, никаких ошибок.
На винде?

Вообще, есть отличный механизм у постгреса бэкапирования WAL-файлов. Там в конфиге просто прописывается команда copy %p X:\backup\%f - что-то такое. В итоге происходит непрерывный бэкап. Сломалось что? Копипастишь каталог базы, уладяешь в нем лишнее, помещаешь туда файлик конфига для восстановления, в котором пишешь команду обратного копирования и инфу о том, на какую секунду развернуть базу - и все! Можно потом переиграть, если секунда не понравилась. И ничего никуда не пропадает. Для бэкапов достаточно даже обычных HDD, т.к. WAL-файлы обычно 16 метров и пишутся один раз последовательно - никакой перезаписи.
17. user1378080 20.03.20 13:23 Сейчас в теме
(15)
work_mem = 128MB
random_page_cost = 0.1
max_parallel_workers_per_gather = 2
max_locks_per_transaction = 512
effective_io_concurrency = 200
standard_conforming_strings = off
escape_string_warning = off
synchronous_commit = on

и "hyper threading" выключить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. starik-2005 3166 11.03.20 14:07 Сейчас в теме
(1) Суть лога в том, что при попытке обновить данные в журнале документов система столкнулась со сбоем - не нашла таблицу соответствующего документа. Возможно у Вас диск сбойнул (не серверный, как я понимаю), или память (без ЕСС, как я понимаю). Не думаю, что с MS SQL при таком "надежном" железе будет сильно лучше, т.к. если сбойнет диск или память, то этот сбой на стороне ОС обрабатывается и до СУБД может и не дойти.

Для такого железа есть возможность или записи WAL-файлов (непрерывный бэкап), или потоковая репикация на второй инстанс постгреса (их можно запустить в принципе сколько угодно даже на одной машине). В первом случае Вы получите возможность развернуть базу на любой момент, во втором случае - просто переключиться (даже в автоматическом режиме) на рабочий инстанс - сделать его мастером (но если это будет на одном компе и не в разных виртуалках/контейнерах, то придется еще порт подключения менять, поэтому контейнеризация - это ВЕЩЬ!)
7. Nikola_N 11.03.20 17:46 Сейчас в теме
(6) Диски в RAID-1
В журналах системы чисто, никаких ошибок.
Проблемы с памятью, думаю, отразились бы не только на базе УТ. Работают и в бухгалтериях и даже с торговлей 7.7
Даже намеков на сбои не было никогда.
8. starik-2005 3166 11.03.20 18:04 Сейчас в теме
(7)
В журналах системы чисто, никаких ошибок.
На винде?

Вообще, есть отличный механизм у постгреса бэкапирования WAL-файлов. Там в конфиге просто прописывается команда copy %p X:\backup\%f - что-то такое. В итоге происходит непрерывный бэкап. Сломалось что? Копипастишь каталог базы, уладяешь в нем лишнее, помещаешь туда файлик конфига для восстановления, в котором пишешь команду обратного копирования и инфу о том, на какую секунду развернуть базу - и все! Можно потом переиграть, если секунда не понравилась. И ничего никуда не пропадает. Для бэкапов достаточно даже обычных HDD, т.к. WAL-файлы обычно 16 метров и пишутся один раз последовательно - никакой перезаписи.
11. user1378080 13.03.20 19:20 Сейчас в теме
(7)
Диски в RAID-1
напишите хоть какие диски и на каком RAID контроллере, ну ради смеха )
14. Nikola_N 17.03.20 11:51 Сейчас в теме
(11)
Ради смеха можно.
intel ssdcd2bw120a4
Софтовый рэйд средствами windows server
2. bugagashenka 203 11.03.20 13:01 Сейчас в теме
Динамически обновились?
3. bugagashenka 203 11.03.20 13:03 Сейчас в теме
Если у вас некому готовить PG, то лучше МС, он многое вам простит.
4. Nikola_N 11.03.20 13:16 Сейчас в теме
(3) что имеется ввиду под "готовить PG". Настроить параметры конфига 1 раз под железо и нагрузку? Эту услугу можно даже заказать. Но как это поможет предотвратить подобный сбой

(2) Я, к сожалению, не знаю. Программист 1С только ругался разными словами в сторону posgresql и говорил, что на mssql у него "такого никогда не было" (С)
5. bugagashenka 203 11.03.20 13:23 Сейчас в теме
(4) я с PG не работал, но знаю, что она очень чувствительная дама. И любой чих заставляет ее плакать.
Настройки никак не помогут, тут многое зависит от самого программиста. В идеале это должен быть эксперт по технологическим вопросам, который знает, как нужно обращаться с PG, чтобы не было проблем.
А с МС любой среднячок сможет справиться. В этом плане МС сродни матери, которая все постарается понять и простить
10. user1378080 13.03.20 19:13 Сейчас в теме
(5)
я с PG не работал, но знаю, что она очень чувствительная дама

для технического форума так себе камент ...
12. bugagashenka 203 13.03.20 20:09 Сейчас в теме
(10)выдай лучше. В (9) так себе рецепт
13. user1378080 15.03.20 11:55 Сейчас в теме
(12) в доп. к (9) ещё и винду надо заменить на Linux, тк она там явно лишняя,
а PG хорошо документирован - за неделю разобраться можно
9. user1378080 13.03.20 19:11 Сейчас в теме
рецепт простой:
1) не использовать десктопное железо для работы в качестве сервера
2) не использовать в PostgreSQL опасные параметры, типа "fsync = off"
15. Nikola_N 17.03.20 12:15 Сейчас в теме
(9) конфиг postgresql
Прикрепленные файлы:
postgresql.zip
17. user1378080 20.03.20 13:23 Сейчас в теме
(15)
work_mem = 128MB
random_page_cost = 0.1
max_parallel_workers_per_gather = 2
max_locks_per_transaction = 512
effective_io_concurrency = 200
standard_conforming_strings = off
escape_string_warning = off
synchronous_commit = on

и "hyper threading" выключить
18. Nikola_N 20.03.20 13:52 Сейчас в теме
16. Nikola_N 17.03.20 12:19 Сейчас в теме
(9) Не очень хочется покупать серверное железо для базы размером в 1,3 Гига и ростом 100-200 Мб в неделю...
Согласен, что диски под базу должны быть точно серверной серии, но остальное?

Вполне вероятно, что я не прав, спорить не буду.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот