Редовете са заключени в реда на ORDER BY
клауза както беше, когато таблицата беше сканирана .
Заявката се изпълнява и редовете се подреждат, след което PostgreSQL заключва редовете по ред. По същество ORDER BY
се случва преди FOR UPDATE
.
Сега може да се случи, че заключването на ред блокира поради заключвания, държани от едновременни транзакции. Ако това се случи, и ние сме на READ COMMITTED
ниво на изолация, PostgreSQL изчаква докато може да получи заключването и след това извлича текущата версия на реда, който заключва.
Ако едновременната транзакция промени колоните, които определят подреждането, крайният резултат няма да бъде в реда, определен от ORDER BY
.