About this PostgreSQL config generator
PostgreSQL ships with conservative defaults that assume a shared machine with very little memory — shared_buffers of 128 MB, work_mem of 4 MB, and planner cost constants tuned for spinning disks. On a modern VPS or dedicated database server those defaults leave most of your RAM unused and force queries to spill sorts and hashes to disk. This tool generates a tuned postgresql.conf snippet from six inputs: total RAM, CPU cores, storage type, PostgreSQL version, workload type, and expected maximum connections.
It ports the well-known PGTune formulas: shared_buffers at 25% of RAM (1/16 for desktop use), effective_cache_size at 75% of RAM, work_mem derived from available memory divided by connection count and a parallelism factor, maintenance_work_mem at 1/16 of RAM capped at 2 GB, wal_buffers at 3% of shared_buffers capped at 16 MB, workload-specific min_wal_size / max_wal_size, checkpoint_completion_target of 0.9, default_statistics_target of 100 (500 for data warehouses), random_page_cost of 1.1 for SSD/NVMe or 4 for HDD, effective_io_concurrency, and parallel worker settings when you have 4 or more cores. It is useful for developers deploying Postgres to a Vultr VPS, DevOps engineers sizing a managed database, and anyone comparing their current config against a known-good baseline.
PostgreSQL 설정 생성기 소개
PostgreSQL의 기본 설정은 메모리가 거의 없는 공유 서버를 가정한 보수적인 값입니다 — shared_buffers 128MB, work_mem 4MB, 그리고 HDD 기준의 플래너 비용 상수입니다. 최신 VPS나 전용 DB 서버에서는 이 기본값이 대부분의 RAM을 놀리고, 정렬·해시 연산을 디스크로 넘기게 만듭니다. 이 도구는 총 RAM, CPU 코어 수, 스토리지 타입, PostgreSQL 버전, 워크로드 유형, 예상 최대 커넥션 수 6가지 입력으로 튜닝된 postgresql.conf 스니펫을 생성합니다.
잘 알려진 PGTune 공식을 그대로 이식했습니다: shared_buffers는 RAM의 25%(데스크톱은 1/16), effective_cache_size는 RAM의 75%, work_mem은 가용 메모리를 커넥션 수와 병렬도 계수로 나눈 값, maintenance_work_mem은 RAM의 1/16(최대 2GB), wal_buffers는 shared_buffers의 3%(최대 16MB), 워크로드별 min_wal_size / max_wal_size, checkpoint_completion_target 0.9, default_statistics_target 100(데이터 웨어하우스는 500), SSD/NVMe는 random_page_cost 1.1(HDD는 4), effective_io_concurrency, 그리고 코어가 4개 이상일 때 병렬 워커 설정입니다. Vultr VPS에 Postgres를 배포하는 개발자, 매니지드 데이터베이스 사이징을 하는 DevOps 엔지니어, 현재 설정을 검증하려는 모두에게 유용합니다.