Un SELECT ne verrouille aucune table dans PostgreSQL, sauf si vous voulez un verrou :
SELECT * FROM tablename FOR UPDATE;
PostgreSQL utilise MVCC pour minimiser les conflits de verrouillage afin de permettre des performances raisonnables dans les environnements multi-utilisateurs. Les lecteurs n'entrent pas en conflit avec les écrivains ni avec d'autres lecteurs.