커뮤니티 PostgreSQL 11 에서 procedure 기능이 추가됐고
procedure 안에서. transaction control이 가능해졌습니다.
즉 procedure 안에서. commit/rollback 명령어를 사용할수가 있죠
하지만 제약사항이 있는데.
1. autocommit on 모드에서만 사용 가능합니다. / off 일때는 안됨
거의 모든 was 가 autocommit=off 설정으로 쓸텐데 이런데서는
commit/rollback 포함 프로시져 호출하면 직빵 에러납니다.
ERROR: invalid transaction termination
2. begin...
commit
exception -- 이런 구조서는 사용못합니다.
end..
이처럼 exception 을 포함한 동일 block 에서는 commit/rollback 사용이 불가합니다.
주인장이 보기에 제약사항이 너무 크리티컬합니다. 앞으로 점차 고쳐지겠죠...
EDB / PPAS 11 은 어떨까요??? 동일한 제약을 받을까요?
백만년만의 quiz 입니다.