Ошибка СУБД. ERROR: out of shared memory. HINT: You might need to increase max_locks_per_transaction.
У клиента РИб. Базы на PosgreSQL. При загрузки из ПУ в ГУ вылезает ошибка: (Ошибка СУБД. ERROR: out of shared memory. HINT: You might need to increase max_locks_per_transaction).
Везде в интернете, где можно, советуют произвести таинственное "increase max_locks_per_transaction". Я в SQL не шарю. Объясните доступным языком, что и как сделать. Или может ещё как-то можно исправить эту ошибку?
Везде в интернете, где можно, советуют произвести таинственное "increase max_locks_per_transaction". Я в SQL не шарю. Объясните доступным языком, что и как сделать. Или может ещё как-то можно исправить эту ошибку?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Veetavas, Ну так увеличьте уже этот max_locks_per_transaction :-)
По шагам: в директории установки PostgreSQL найдите файл postgresql.conf (лежит в папке data). Найдите в нем строчку max_locks_per_transaction и исправьте значение на 150. Если такую строчку не найдете, добавьте в конце файла сами в виде:
max_locks_per_transaction = 150
P.S. Да, перед этим нужно остановить сервер PostgreSQL, а после изменения файла конфигурации снова запустить.
По шагам: в директории установки PostgreSQL найдите файл postgresql.conf (лежит в папке data). Найдите в нем строчку max_locks_per_transaction и исправьте значение на 150. Если такую строчку не найдете, добавьте в конце файла сами в виде:
max_locks_per_transaction = 150
P.S. Да, перед этим нужно остановить сервер PostgreSQL, а после изменения файла конфигурации снова запустить.
(5) Veetavas, Не аукнется, это ограничение из принципа разумности устанавливается. Оно просто должно быть и все, а конкретное значение нужно подбирать под свои задачи. Если блокировок становится слишком много, значит что-то в конфигурации делается неверно. Где-то закралась ошибка. У вас типовая конфигурация или доработанная/самописная?
Развитие событий такое: выгрузил с базы SQL, загрузил в новую ФАЙЛОВУЮ этот dt-шник, произвел загрузку данных из папки обмена РИБ - минут 20 и данные за два месяца в базе (сообщение для этой базы порядка 232 МБ скопился), сделал dt-шник новый. А на SQLной базе минут 30-40 грузит и молчит. Прервал операцию. Загрузил данные из нового dt-шника. Что может ждать при следующем обмене уже из базы SQLной?
//Я понятным языком изъяснился?)
//Я понятным языком изъяснился?)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот