Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / max_locks_per_transaction / 9 сообщений из 9, страница 1 из 1
11.01.2017, 12:28
    #39382190
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
max_locks_per_transaction
Добрый день
Можете объяснить за что отвечает параметр max_locks_per_transaction? На postgrespro.ru есть описание, но не могу понять на что влияет этот параметр.
...
Рейтинг: 0 / 0
11.01.2017, 12:46
    #39382212
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
max_locks_per_transaction
Gallemar,

"Блокировки объектов располагаются в общей памяти сервера. Поэтому их количество ограничено двумя параметрами: max_locks_per_transaction и max_connections. Пул блокировок общий для всех транзакций, то есть одна транзакция может захватить больше блокировок, чем max_locks_per_transaction — важно лишь, чтобы общее число блокировок в системе не превысило установленный предел."

Отсюда .
Тема 4 Снимки и блокировки.
Можно глянуть видео с 17:18
...
Рейтинг: 0 / 0
11.01.2017, 12:50
    #39382217
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
max_locks_per_transaction
Павел Лузанов, а для чего его требуется увеличить?
...
Рейтинг: 0 / 0
11.01.2017, 13:46
    #39382272
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
max_locks_per_transaction
Gallemar,

Не надо трогать этот параметр, тем более если вы не знаете как он работает.
Он влияет на размер фиксированной таблицы блокировок, умолчательного значения более чем достаточно.
...
Рейтинг: 0 / 0
11.01.2017, 14:27
    #39382310
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
max_locks_per_transaction
GallemarПавел Лузанов, а для чего его требуется увеличить?

Я вообще не уверен, что его требуется увеличивать.
PostgreSQL может предложить это сделать (в сообщении об ошибке), если в одной транзакции тысячами создавать/удалять объекты БД.
Но здесь скорее нужно поменять подход к разработке, чем этот параметр.
...
Рейтинг: 0 / 0
11.01.2017, 15:29
    #39382377
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
max_locks_per_transaction
vyegorov<> умолчательного значения более чем достаточно.
при обильном партицировании -- увы, нет. не всегда

и для некоторых запросов, порождаемых сбрендившими трансляторами типа 1С, как мы знаем, тоже. (когда текст запроса сам по себе -- многие мегабайты)


очевидно ТС увидел битым текстом в логах/ошибках рекомендацию движка пж увеличить это число, то ли написав хитровыдуманный запрос сам, то ли попользовав что--то готовое. т.ч. "увидев такую рекомендацию в тексте ошибок" -- одно из 2--х: задумаццо об архитектуре, и переделать всё (хотя бы запрос, вызвавший оное сообщение) наново, или таки увеличить оный параметр.
...
Рейтинг: 0 / 0
11.01.2017, 15:43
    #39382392
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
max_locks_per_transaction
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
15.10.2020, 13:00
    #40008846
Kr_Yury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
max_locks_per_transaction
Подниму тему. Прошу не пинать. Все топики по теме на этом форуме посмотрел, но вопросы остались.
Срабатывает ОШИБКА: нехватка разделяемой памяти
HINT: Возможно, следует увеличить параметр max_locks_per_transaction.
Рекомендательные блокировки не используются, явные - не больше 10 на транзакцию. Хотелось бы уточнить такой момент: разные операторы update на записи одной таблицы создают разные блокировки или входят в одну? Если в одну, то даже в самой ресурсоёмкой функции апдейтится значительно меньше таблиц, чем значение max_locks_per_transaction=64. Какие ещё причины нехватки разделяемой памяти могут быть? Версия 10.10
...
Рейтинг: 0 / 0
15.10.2020, 13:57
    #40008880
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
max_locks_per_transaction
Kr_Yury,

поднимите max_locks_per_transaction до 256 и успокойтесь ).
обычно нехватка max_locks_per_transaction от избыточного партиционирования возникает.

а вообще посмотрите сколько у вас select * from pg_locks например когда такая ошибка вылезает может что то понятнее станет.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / max_locks_per_transaction / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]