Как заблокировать строки базы данных с помощью pgpool master - slave?
У меня есть система Pgpool с несколькими узлами, работающими в режиме master-slave. У меня также есть некоторые ресурсы с высоким уровнем параллелизма и слишком много откатов.
Я думал о двух решениях:
использование
SELECT ... FOR UPDATE
Запросы на блокировку строк и отправку их только на главный узел (при pgpool выбор для обновления недоступен). На самом деле, мне пришлось бы отправить всю транзакцию в мастер.Используйте redis для распределения блокировок, чтобы заблокировать каждую строку, и используйте обычный
SELECT
без замков.
Какое решение лучше? Есть ли другие решения для решения этой проблемы?