Здравствуйте,
В PostgreSQL уровень блокировки строк по умолчанию для операции SELECT зависит от текущего уровня изоляции транзакции. Вот соответствия:
1. Уровень изоляции READ UNCOMMITTED: Не применяются блокировки строк.
2. Уровень изоляции READ COMMITTED: По умолчанию используется блокировка FOR SHARE для каждой выбранной строки. Если задана конструкция FOR UPDATE, то применяется блокировка FOR UPDATE.
3. Уровень изоляции REPEATABLE READ: По умолчанию используется блокировка FOR SHARE для каждой выбранной строки. Если задана конструкция FOR UPDATE, то применяется блокировка FOR UPDATE.
4. Уровень изоляции SERIALIZABLE: По умолчанию используется блокировка FOR SHARE для каждой выбранной строки. Если задана конструкция FOR UPDATE, то применяется блокировка FOR UPDATE.
Обратите внимание, что уровни блокировки могут быть изменены с помощью соответствующих предложений в запросе SELECT, а также с помощью команды SET TRANSACTION ISOLATION LEVEL.
Если у вас возникнут еще вопросы, не стесняйтесь задавать.