powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Постоянные advisory locks
6 сообщений из 6, страница 1 из 1
Постоянные advisory locks
    #39975198
tratata74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добый день, очень мало опыта с постгрес, не могу разобраться.

postgresql 9.6 на windows, там же сервер 1с

Периодически вылетает ошибка в 1с:
Конфликт блокировок при выполнении транзакции:
55P03 ERROR: canceling statement due to lock timeout

В логе в это время такое сообщение:

STATEMENT: SET STATEMENT_TIMEOUT TO 20000;
SELECT pg_advisory_xact_lock((SELECT oid::bigint FROM pg_class WHERE relname = 'различные имена талбиц'));
SET STATEMENT_TIMEOUT TO DEFAULT;

Причем бываю даже дедлоки из 2ух подобных запросов.


Подскажите куда копать пожалуйста.
...
Рейтинг: 0 / 0
Постоянные advisory locks
    #39975268
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторразличные имена талбиц
Ну и почему же тогда не может быть дедлоков?

Транзакция 1 берёт лок на foo
Транзакция 2 берёт лок на bar
Транзакция 1 хочет bar
Транзакция 2 хочет foo

Классический дедлок и есть. В чём вопрос?

А если в ожидании блокировки поспали 20 секунд - значит не дождались окончания удерживающей эту блокировку транзакции (либо своей очереди на получение этой блокировки)
...
Рейтинг: 0 / 0
Постоянные advisory locks
    #39975295
tratata74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij,
Я знаю что такое дедлок, спасибо.
Вопрос в том как избавиться именно от этих advisory_locks
...
Рейтинг: 0 / 0
Постоянные advisory locks
    #39975343
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tratata74
Melkij,
Я знаю что такое дедлок, спасибо.
Вопрос в том как избавиться именно от этих advisory_locks


Так это вопрос не по базе а по 1С - с 1C и общайтесь.
...
Рейтинг: 0 / 0
Постоянные advisory locks
    #39975405
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk
tratata74
Melkij,
Я знаю что такое дедлок, спасибо.
Вопрос в том как избавиться именно от этих advisory_locks


Так это вопрос не по базе а по 1С - с 1C и общайтесь.

Таки да. Постоянные блокировки, а тем более взаимные блокировки как правило свидетельство косяков приложения. В базе ничего особо не потюнишь. Разве что таймаут поставить побольше(но куда уж больше 20 секунд) может будут проскакивать обычные локи(дедлоки не будут).
Даешь отдельную ветку по одноце!
...
Рейтинг: 0 / 0
Постоянные advisory locks
    #39975802
tratata74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mefman,

Странность в том, что подобная система(postgresql+1c) стоит на некольких десятков серверов(сеть магазинов), но насклько я знаю, данная проблема только на одном. По идее приклад везде одинаковый.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Постоянные advisory locks
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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