Un SELECT non blocca nessuna tabella in PostgreSQL, a meno che tu non voglia un blocco:
SELECT * FROM tablename FOR UPDATE;
PostgreSQL utilizza MVCC per ridurre al minimo la contesa di blocco al fine di consentire prestazioni ragionevoli in ambienti multiutente. I lettori non entrano in conflitto con gli scrittori né con altri lettori.