post(blog): PostgreSQL의 트랜잭션 격리 수준 (#43) - #141
Merged
Merged
Conversation
- PostgreSQL 18.4에서 psql 세션 두 개로 네 격리 수준의 실제 동작을 측정해 정리 - READ UNCOMMITTED 부재, REPEATABLE READ의 팬텀 차단, Write Skew를 실측 출력과 공식문서 인용으로 서술 - SERIALIZABLE의 SIREAD·rw-conflict·pivot 검사 규칙을 pg_locks 실측과 README-SSI로 설명
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #43
요약
PostgreSQL 18.4에서 psql 세션 두 개를 계속 열어 두고, 네 격리 수준이 각각 어떤 현상을 막고 어떤 현상을 허용하는지 직접 측정해 정리했습니다.
본문의 모든 수치와 출력은 실측이고, 동작 설명은 PostgreSQL 18 공식문서 13.2절과 소스 트리의
README-SSI원문을 인용했습니다.측정 결과
SHOW transaction_isolation은 요청값을 그대로 돌려주지만, 같은 트랜잭션 안에서 재조회 결과가 바뀌는 것으로 READ COMMITTED 동작임을 확인했습니다.다루는 내용
ctid·xmin·xmax,pageinspect로 확인한 두 버전의 공존could not serialize access due to concurrent updateSIREAD(pg_locks실측), 쓰기가 만드는 rw-conflict 간선, 간선 두 개가 한 트랜잭션을 관통할 때의 취소검증
pnpm --filter blog build통과 (137 페이지)description정상 (36개 포스트 중 빈 값 0개)