본문 바로가기
DB 인사이드 | PostgreSQL Architecture - 4. 동작 원리 본 문서에서는 PostgreSQL Architecture 전반에서 다룬 내용을 바탕으로 커넥션 생성 및 사용자요청처리, 백그라운드 Process의 동작 방식 등에 대한 내용을 다루겠습니다. 커넥션 생성 과정 우선 사용자가 PostgreSQL과 커넥션을 맺고 요청을 처리/회신하는 과정을 확인해보겠습니다. 1. postmaster 프로세스는 Listener 역할을 하며 Client로부터 새로운 연결 요청을 기다립니다. 2. postmaster 프로세스는 새로운 Client 연결 요청에 대한 인증을 하고 postgres 프로세스를 생성합니다. 이때 각각의 프로세스에는 work_mem 같은 Local Memory가 개별 할당됩니다. 3. postgres 프로세스가 Client와 연결되면 postmaster 프로.. 2022. 4. 27.
DB 인사이드 | PostgreSQL Architecture - 2. Physical Structure Physical Structure 본 문서에서는 Data 파일, Engine Log 파일, Configuration 파일 등 PostgreSQL이 관리하는 다양한 파일과 디렉토리에 대한 내용을 다루도록 하겠습니다. 해당 파일 및 디렉토리들은 PGDATA라고 하는 Database Cluster의 data 디렉토리에 위치하고 있습니다. PGDATA의 일반적인 위치는 /var/lib/pgsql/13/data 이며 해당 경로는 설치 방법에 따라 변경 수 있습니다. 📌 Database 및 Cluster 등에 관한 내용은 Logical Structure 내용을 참조바랍니다. Data Directory 구조(PGDATA) 일반적으로 Database Cluster의 구성요소는 data 디렉토리 하위에 위치하고 있습니다.. 2022. 4. 27.
DB 인사이드 | PostgreSQL Architecture - 5. SQL 처리 과정 PostgreSQL SQL 처리과정 본 문서에서는 PostgreSQL의 SQL처리과정에 대해 알아보도록 하겠습니다. postgres 프로세스는 Client로부터 SQL(Query string)을 전달받으면 아래와 같은 5개의 과정을 거쳐 SQL을 처리하며 그 결과를 Client로 반환합니다. 각 과정에서는 문법체크 및 의미분석, 최적화 작업 등을 수행하며, 세부적인 내용을 각각 확인해 보도록 하겠습니다. Parser Parsing 단계는 SQL 처리과정의 첫번째 단계로 Query 구문을 분석하여 Syntax Error를 체크하고 Parse Tree를 생성합니다. 해당 단계에서는 System Catalog를 참조하지 않기 때문에 개별 요소들에 대한 의미분석(Semantic)이 불가하며 단순한 문법체크(Sy.. 2022. 4. 27.