첫번째 세션을 맺고  트랜잭션 안에서 테이블 truncate 를 수행합니다.
commit 이나 rollback 수행은 하지 않았습니다. 즉, 트랜잭션 종료 전입니다.
scottdb=> create table x(x int);
 
scottdb=> truncate table x;      -- 예전강좌에서 말씀드렸듯이 PostgreSQL 에서는 drop 과 truncate 까지 롤백가능합니다.
 
scottdb=> select * from x;
 x 
---
(0 rows)
scottdb=> 
  
이제 두번째 세션에서 위의 x 테이블을 조회해보면 행이 발생합니다.
scottdb=> select * from x;  -- 행상태
 
DROP TABLE, TRUNCATE, REINDEX, CLUSTER,  VACUUM FULL, ALTER TABLE .. 이런 명령어들은
 
AccessExclusiveLock 을 잡기 때문에 타 세션의  동일 테이블 SELECT 문은 블럭킹을 당합니다.
이점 유념하시고 위 명령어들을 수행시에는 트랙잭션 타임을 최대한으로 줄여 수행하시기 바랍니다.
되도록이면 트랙잭션 모드에서는 수행안하는게 젤 좋겠죠 (autocommit 상태에서만 수행)