SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » PostgreSQL » Ошибка блокировки (plpgsql, greenplum)
Ошибка блокировки [сообщение #3173] Tue, 26 September 2023 09:50 Переход к следующему сообщению
dbalor в настоящее время не в онлайне  dbalor
Сообщений: 12
Зарегистрирован: May 2023
Junior Member
Есть большой запрос с row_number, пытаюсь повесить на него блокировку строк, выдает ошибку :
For key share is not allowed with window functions
Соответственно как можно повесить на запрос блокировку строк?
Re: Ошибка блокировки [сообщение #3174 является ответом на сообщение #3173] Tue, 26 September 2023 13:21 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 889
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
не на всякий запрос можно навесить блокировку.
Re: Ошибка блокировки [сообщение #3175 является ответом на сообщение #3174] Tue, 26 September 2023 13:50 Переход к предыдущему сообщению
dbalor в настоящее время не в онлайне  dbalor
Сообщений: 12
Зарегистрирован: May 2023
Junior Member
А в подзапросе можно блокировать таблицу?
Select
...
row_number() over (...) as num
from tbl1
join (
 Select *
 from tbl2
 where < условия>
 for key share
) as t on t.id=tbl1.f_id
Или как то еще можно обойти?
Предыдущая тема: Используемая память запроса
Следующая тема: Перестает работать autovacuum, даже при отключении autovacuum_vacuum_cost_delay
Переход к форуму:
  


Текущее время: Sat Dec 21 21:11:56 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00879 секунд