PLPGSQL로 작성된 트랙잭션 관련 처리 함수 예제입니다. 

CREATE TABLE test1 (id int);
CREATE PROCEDURE test_tx_proc()
 AS $$
 BEGIN
     FOR i IN 0..4 LOOP
         INSERT INTO test1 (id) VALUES (i);
         IF i % 2 = 0 THEN
             RAISE NOTICE 'i=%, txid=% will be committed', i, txid_current();
             COMMIT;
         ELSE
             RAISE NOTICE 'i=%, txid=% will be rolledback', i, txid_current();
             ROLLBACK;
         END IF;
     END LOOP;
 END
 $$
 LANGUAGE PLPGSQL;

'RDB > PostreSQL' 카테고리의 다른 글

PostgreSQL 12 transactions  (0) 2020.04.22
PostgreSQL 12에 신규 기능  (0) 2020.04.20
PostgreSQL 병렬 쿼리  (0) 2020.03.23
PostgreSQL 파티션  (0) 2020.03.23
postgresql 10 설치  (0) 2020.03.11

+ Recent posts