Blog

5. Transaction ID 본문

DB/PostgreSQL_Guide

5. Transaction ID

JunginKim 2022. 12. 6. 09:42
728x90
반응형

txid

  • Tx이 시작될 때마다 Tx Manager는 txid라 하는 고유 식별자를 할당
  • PostgreSQL의 txid는 unsigned int(4Byte)로 약 42억개
  • Tx이 시작된 후 내장 함수 txid_current()를 실행해 현재 txid 반환 가능
BEGIN;

BEGIN

SELECT txid_current();

txid_current 
--------------
          100
(1 row)
  • PostgreSQL의 세 가지 특수 txid
    • 0: 잘못된 txid
    • 1: Bootstrap txid, DB Cluster의 초기화에만 사용
    • 2: Frozen txid
  • Txid는 서로 비교할 수 있음
PostgreSQL의 txid
  • 실제 System에서는 PostgreSQL의 txid 공간이 부족해 순환형으로 사용
  • 이전의 약 21억개는 과거, 이후 약 21억개는 미래
ℹ️
BEGIN Command에는 txid가 할당되지 않음

PostgreSQL에서 BEGIN Command가 실행된 후 첫 Command가 실행될 때 Tx Manager가 txid를 할당하고 해당 Tx이 시작


Uploaded by N2T

728x90
반응형

'DB > PostgreSQL_Guide' 카테고리의 다른 글

5. Tuple `INSERT`, DELETE, UPDATE  (0) 2022.12.06
5. Tuple Sturcture  (0) 2022.12.06
3. Query Processing 개요  (0) 2022.12.05
2. Memory Architecture  (0) 2022.12.02
2. Process Architecture  (0) 2022.12.02
Comments