PostgreSQL Config Generator

Enter your RAM, CPU cores and workload, and get a tuned postgresql.conf — a free PGTune alternative that runs in your browser.

PostgreSQL 설정 생성기

RAM, CPU 코어 수, 워크로드를 입력하면 튜닝된 postgresql.conf를 즉시 생성합니다. 브라우저에서 동작하는 무료 PGTune 대안입니다.

Server & Workload

Leave the workload default unless you know your real peak. Use a pooler like PgBouncer for high counts.

postgresql.conf

…
Matched Vultr Plan
—
Matches the RAM you entered — available as a Vultr Cloud Compute VPS or a Vultr Managed Database for PostgreSQL.
Get this plan on Vultr →

Baseline only. Ported from the published PGTune formulas. Verify against pg_stat_statements, temp file counts and checkpoint frequency under real load, and restart PostgreSQL for settings that require it (shared_buffers, wal_buffers, max_connections).

More DevOps tools

All DevOps & Config Generators tools

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 엔지니어, 현재 설정을 검증하려는 모두에게 유용합니다.

How to use this generator

1. Enter your hardware

Total RAM in GB, vCPU count, and the storage type — SSD/NVMe for almost every VPS, HDD only for old spinning disks.

2. Pick version and workload

Choose your PostgreSQL major version and whether the server is a web app, OLTP, data warehouse, desktop, or mixed.

3. Set max connections

Keep the workload default unless you know your real peak. High counts should go through PgBouncer, not raw Postgres.

4. Copy the config

Click Copy, paste the values into postgresql.conf (or ALTER SYSTEM), and restart Postgres for shared_buffers to take effect.

생성기 사용 방법

1. 하드웨어 입력

총 RAM(GB), vCPU 수, 스토리지 타입을 입력하세요 — 대부분의 VPS는 SSD/NVMe, HDD는 구형 디스크만 해당됩니다.

2. 버전과 워크로드 선택

PostgreSQL 메이저 버전과 서버 유형(웹 앱, OLTP, 데이터 웨어하우스, 데스크톱, 혼합)을 고르세요.

3. 최대 커넥션 설정

실제 피크를 모른다면 워크로드 기본값을 유지하세요. 높은 커넥션은 raw Postgres가 아니라 PgBouncer로 처리해야 합니다.

4. 설정 복사

Copy를 눌러 postgresql.conf(또는 ALTER SYSTEM)에 붙여넣고, shared_buffers 적용을 위해 Postgres를 재시작하세요.

Frequently asked questions

Start from your hardware: set shared_buffers to about 25% of RAM, effective_cache_size to about 75% of RAM, and derive work_mem from (RAM minus shared_buffers) divided by (max_connections times 3) and a parallelism factor. Then adjust for your workload type and storage, restart PostgreSQL for the settings that need it, and re-check pg_stat_statements and temp file counts under real load. This generator ports the well-known PGTune formulas so you get a sensible baseline in one step.
For web, OLTP, mixed and data-warehouse workloads, shared_buffers is set to roughly 25% of total RAM. On a desktop or development machine it is much smaller, around 1/16 of RAM. Going far above 25% rarely helps because PostgreSQL also relies on the operating system page cache, which effective_cache_size describes to the planner. On a 4 GB server that means about 1 GB of shared_buffers.
Yes. This PostgreSQL Config Generator is a free, browser-based PGTune alternative. It implements the same published formulas for shared_buffers, effective_cache_size, work_mem, maintenance_work_mem, WAL sizing, checkpoint_completion_target, planner cost constants and parallel worker settings, and it also suggests a matching Vultr plan for the RAM you entered. Nothing is uploaded and no signup is required.
work_mem is per sort or hash operation per connection, so it is derived from available memory and connection count: (RAM minus shared_buffers) divided by (max_connections times 3), then divided by the parallel workers per gather and a workload divisor (1 for web and OLTP, 2 for mixed and data warehouse, 6 for desktop). Setting it too high can exhaust RAM when many connections sort at once, so keep max_connections realistic and use a connection pooler.
On a small VPS the priorities are: shared_buffers near 25% of RAM, effective_cache_size near 75%, a modest work_mem so concurrent queries do not exhaust memory, random_page_cost of 1.1 because VPS storage is SSD or NVMe, effective_io_concurrency around 200, and checkpoint_completion_target of 0.9 to smooth write spikes. Keep max_connections low and run PgBouncer. Enter your VPS specs above to generate the exact values.

자주 묻는 질문

하드웨어에서 시작하세요: shared_buffers를 RAM의 약 25%, effective_cache_size를 RAM의 약 75%로 설정하고, work_mem은 (RAM - shared_buffers)를 (max_connections × 3)과 병렬도 계수로 나눠 계산합니다. 그다음 워크로드 유형과 스토리지에 맞게 조정하고, 필요한 설정은 PostgreSQL을 재시작한 뒤 실제 부하에서 pg_stat_statements와 임시 파일 수를 다시 확인하세요. 이 생성기는 잘 알려진 PGTune 공식을 이식해 한 번에 합리적인 기준값을 제공합니다.
웹, OLTP, 혼합, 데이터 웨어하우스 워크로드에서는 shared_buffers를 총 RAM의 약 25%로 설정합니다. 데스크톱·개발 환경에서는 RAM의 약 1/16로 훨씬 작습니다. 25%를 크게 넘겨도 도움이 되는 경우는 드문데, PostgreSQL이 OS 페이지 캐시에도 의존하며 이를 플래너에 알려주는 값이 effective_cache_size이기 때문입니다. 4GB 서버라면 약 1GB입니다.
네. 이 PostgreSQL 설정 생성기가 무료 브라우저 기반 PGTune 대안입니다. shared_buffers, effective_cache_size, work_mem, maintenance_work_mem, WAL 사이징, checkpoint_completion_target, 플래너 비용 상수, 병렬 워커 설정에 대해 동일한 공개 공식을 구현하며, 입력한 RAM에 맞는 Vultr 플랜도 추천합니다. 업로드되는 데이터는 없고 가입도 필요 없습니다.
work_mem은 커넥션당, 정렬·해시 연산당 적용되므로 가용 메모리와 커넥션 수에서 유도합니다: (RAM - shared_buffers)를 (max_connections × 3)으로 나눈 뒤, gather당 병렬 워커 수와 워크로드 제수(웹·OLTP는 1, 혼합·데이터 웨어하우스는 2, 데스크톱은 6)로 다시 나눕니다. 너무 크게 잡으면 많은 커넥션이 동시에 정렬할 때 RAM이 고갈되므로 max_connections를 현실적으로 유지하고 커넥션 풀러를 사용하세요.
작은 VPS에서 우선순위는: shared_buffers를 RAM의 25% 근처로, effective_cache_size를 75% 근처로, 동시 쿼리가 메모리를 고갈시키지 않도록 적당한 work_mem, VPS 스토리지가 SSD/NVMe이므로 random_page_cost 1.1, effective_io_concurrency 약 200, 쓰기 급증을 완화하는 checkpoint_completion_target 0.9입니다. max_connections는 낮게 유지하고 PgBouncer를 사용하세요. 위에 VPS 사양을 입력하면 정확한 값이 생성됩니다.
Sponsor
Get started on Vultr
Get $300 free credit — valid for 30 days (limited-time offer)
Claim your credit →