
개념 사전 · 프로그램
PostgreSQL
포스트그레스큐엘 · Postgres
은 ·제약·과 확장 기능을 제공하는 관계형 DBMS이다. MVCC로 동시 질의의 가시성을 관리하고 WAL 선행 기록으로 장애 뒤 데이터 페이지를 복구하는 기반을 마련한다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
로고: PostgreSQL Global Development Group 공식 자료. 제품 식별을 위해 표시하며 각 상표의 권리는 권리자에게 있습니다.
01무엇이고, 어떤 일을 하나
- 관계형 자료와 제약을 관리하며 요청을 실행한다.
- 스냅샷··잠금으로 동시 읽기와 쓰기를 조정한다.
- WAL과 기본 백업을 연결해 충돌 복구·시점 복구를 지원한다.
02어떤 순서로 동작하나
- 세션과 문장 준비
접속을 인증하고 구문·객체·자료형·권한을 해석한다.
- 계획 선택
통계와 인덱스 등으로 실행 계획을 선택한다.
- 스냅샷 기반 실행
지정 격리 수준에서 보이는 을 읽고 쓰기 충돌·잠금 조건을 처리한다.
- 변경 보존
커밋과 WAL 저장 정책에 따라 변경을 확정하며 데이터 페이지 기록과 복구 로그의 순서를 관리한다.
03먼저 알아둘 용어와 구성요소
- 갱신 중인 행에는 이전 상태와 새 상태를 구별할 정보가 있다. SELECT는 자기 스냅샷에서 보이는 버전을 읽으며, 다른 세션의 미커밋 변경을 그대로 읽지 않는다.
- Read Committed의 보통 SELECT는 각 명령 시작 시점까지 커밋된 자료를 본다. 같은 에서 연속한 두 SELECT도 그 사이 다른 세션이 커밋하면 다른 결과를 얻을 수 있다.
- UPDATE가 다른 이 변경 중인 행을 만나면 결과를 기다릴 수 있다. 상대가 커밋하면 최신 행에 WHERE 조건을 다시 적용하여 변경 대상을 결정한다.
- cost=0.30..8.00의 값은 계획 비교용 비용 단위이며 밀리초가 아니다. actual time은 실행 측정치이므로 두 숫자를 바로 빼서 오차를 계산하지 않는다.
- 가상 노드가 actual time=0.010..0.040 rows=2 =100이면 한 번당 평균 2행을 내보냈고 전체 출력은 약 200행이다. 노드 시간도 반복 횟수를 고려한다.
- 데이터 페이지의 변경 내용을 디스크에 내보내기 전에 그 변경을 재구성할 WAL 기록을 먼저 안전하게 저장한다. 페이지를 즉시 모두 쓰지 않아도 충돌 복구가 가능한 근거다.
04예제로 따라가기
- EXPLAIN의 cost=0.30..8.00은 계획 비교용 비용으로 밀리초가 아니다.
- 가상 노드의 rows=2 =100이면 전체 출력 행 수는 약 200행으로 해석하지만 노드 시간 합산에는 상하위 포함 관계를 고려한다.
- 에서 잘못된 DELETE 직전 시각에 멈추면 그 이후 정상 변경도 자동 보존되지 않는다. 필요한 업무 복구 범위를 별도로 판단한다.
05혼동하기 쉬운 점과 확인 기준
- 상위 노드의 시간에는 하위 작업이 포함될 수 있다. 모든 노드의 시간을 단순 합산하면 같은 일을 중복 계산한다.
- EXPLAIN ANALYZE는 실제 실행한다. 변경 질의나 부작용이 있는 함수는 단순 조회 점검으로 취급하지 않으며, 여기의 출력은 실행하지 않은 해석 예시다.
- 의 Read Committed를 기준으로 한다. 다른 DBMS나 격리 수준에 이 규칙을 그대로 적용하지 않는다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
READ · OBSERVE · CONNECT
함께 보는 학습 자료
아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.
PostgreSQL 격리 수준과 경쟁 UPDATE 추적
13.2.1 Read Committed의 두 세션 UPDATE 설명부터 읽고 13.2.2와 비교한다. 현재 사이트의 재고 차감 예제에 대기·재평가·재시도 조건을 대입할 수 있다.
읽으면서 확인할 것
- 보통 SELECT가 문장 시작 시점의 스냅샷을 쓰는 조건
- 경쟁 UPDATE 커밋 뒤 WHERE를 다시 검사하는 이유
- Repeatable Read에서 전체 재시도가 필요한 경우
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.