리눅스 서버에서 PostgreSQL 을 사용하다 보면, 흔히 이런 명령어로 DB 상태를 확인한다.ps -ef | grep postgres 그런데 결과를 보면 PID 가 서로 다른 여러 개의 postgres 프로세스가 뜨고, 심지어 같은 IP 로 연결된 세션이 여러 개 보이는 경우가 있다. “PostgreSQL 이 왜 이렇게 프로세스를 많이 띄우는 걸까?”라는 의문이 들었다.1. PostgreSQL 은 멀티스레드가 아닌 멀티프로세스 구조이다일반적인 애플리케이션 서버는 하나의 프로세스 안에서 여러 스레드가 동작하는 구조가 많다.반면 PostgreSQL 은 멀티프로세스 구조를 사용한다.즉, PostgreSQL 서버는 “하나의 거대한 프로세스”가 아니라, 여러 개의 독립 프로세스가 역할을 나누어 담당하는 구조이..