Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Постоянные advisory locks / 6 сообщений из 6, страница 1 из 1
02.07.2020, 09:50
    #39975198
tratata74
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Постоянные advisory locks
Добый день, очень мало опыта с постгрес, не могу разобраться.

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
02.07.2020, 11:14
    #39975268
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Постоянные advisory locks
авторразличные имена талбиц
Ну и почему же тогда не может быть дедлоков?

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

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

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


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


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

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

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


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