# Pigsty defaults

> Complete OLTP, OLAP, CRIT, and TINY template deltas from upstream PostgreSQL boot defaults.
---

This page renders all four complete Pigsty Patroni templates with the fixed `8 vCPU, 32 GiB RAM, 100 GiB SSD, normal primary, role defaults` fixture. In PG18, **94** core parameters differ from upstream `boot_val` in at least one template.

> [!IMPORTANT]
> This is a fact snapshot of values written to Patroni DCS at bootstrap or to the node-local layer. It does not prove the current value of an existing cluster, and `pg_parameters` may override values through `postgresql.auto.conf`.

## PG18 default-delta table {#pg18-differences}

| Parameter | Upstream boot | OLTP | OLAP | CRIT | TINY |
| --- | --- | --- | --- | --- | --- |
| [`archive_command`](/parameters/archive-command/) | `""` (empty string) | `pgbackrest --stanza=fixture archive-push %p` Δ | `pgbackrest --stanza=fixture archive-push %p` Δ | `pgbackrest --stanza=fixture archive-push %p` Δ | `pgbackrest --stanza=fixture archive-push %p` Δ |
| [`archive_mode`](/parameters/archive-mode/) | `off` | `on` Δ | `on` Δ | `on` Δ | `on` Δ |
| [`archive_timeout`](/parameters/archive-timeout/) | `0 s` | `300` Δ | `300` Δ | `300` Δ | `300` Δ |
| [`autovacuum_analyze_scale_factor`](/parameters/autovacuum-analyze-scale-factor/) | `0.1` | `0.04` Δ | `0.04` Δ | `0.04` Δ | — |
| [`autovacuum_analyze_threshold`](/parameters/autovacuum-analyze-threshold/) | `50` | `250` Δ | `500` Δ | `250` Δ | `250` Δ |
| [`autovacuum_freeze_max_age`](/parameters/autovacuum-freeze-max-age/) | `200000000` | `1000000000` Δ | `1000000000` Δ | `1000000000` Δ | `1000000000` Δ |
| [`autovacuum_max_workers`](/parameters/autovacuum-max-workers/) | `3` | `3` = | `3` = | `3` = | `2` Δ |
| [`autovacuum_vacuum_cost_delay`](/parameters/autovacuum-vacuum-cost-delay/) | `2 ms` | `-1` Δ | `-1` Δ | `-1` Δ | `-1` Δ |
| [`autovacuum_vacuum_scale_factor`](/parameters/autovacuum-vacuum-scale-factor/) | `0.2` | `0.08` Δ | `0.08` Δ | `0.08` Δ | — |
| [`autovacuum_vacuum_threshold`](/parameters/autovacuum-vacuum-threshold/) | `50` | `500` Δ | `1000` Δ | `500` Δ | `500` Δ |
| [`bgwriter_delay`](/parameters/bgwriter-delay/) | `200 ms` | `10ms` Δ | `10ms` Δ | `10ms` Δ | `10ms` Δ |
| [`bgwriter_lru_maxpages`](/parameters/bgwriter-lru-maxpages/) | `100` | `800` Δ | `800` Δ | `800` Δ | `800` Δ |
| [`bgwriter_lru_multiplier`](/parameters/bgwriter-lru-multiplier/) | `2` | `5.0` Δ | `5.0` Δ | `5.0` Δ | `5.0` Δ |
| [`checkpoint_completion_target`](/parameters/checkpoint-completion-target/) | `0.9` | `0.95` Δ | `0.95` Δ | `0.95` Δ | `0.95` Δ |
| [`checkpoint_timeout`](/parameters/checkpoint-timeout/) | `300 s` (5 min) | `15min` Δ | `15min` Δ | `15min` Δ | `15min` Δ |
| [`commit_delay`](/parameters/commit-delay/) | `0` | `20` Δ | `20` Δ | `20` Δ | `20` Δ |
| [`commit_siblings`](/parameters/commit-siblings/) | `5` | `10` Δ | `10` Δ | `10` Δ | `10` Δ |
| [`deadlock_timeout`](/parameters/deadlock-timeout/) | `1000 ms` (1 s) | `50ms` Δ | `50ms` Δ | `50ms` Δ | `50ms` Δ |
| [`default_statistics_target`](/parameters/default-statistics-target/) | `100` | `400` Δ | `1000` Δ | `400` Δ | `200` Δ |
| [`effective_cache_size`](/parameters/effective-cache-size/) | `524288 8kB` (4 GiB (524288 × 8kB)) | `24576MB` Δ | `24576MB` Δ | `24576MB` Δ | `24576MB` Δ |
| [`effective_io_concurrency`](/parameters/effective-io-concurrency/) | `16` | `200` Δ | `200` Δ | `200` Δ | `200` Δ |
| [`enable_partitionwise_aggregate`](/parameters/enable-partitionwise-aggregate/) | `off` | — | `on` Δ | — | — |
| [`enable_partitionwise_join`](/parameters/enable-partitionwise-join/) | `off` | — | `on` Δ | — | — |
| [`file_copy_method`](/parameters/file-copy-method/) | `copy` | `clone` Δ | `clone` Δ | `clone` Δ | `clone` Δ |
| [`hash_mem_multiplier`](/parameters/hash-mem-multiplier/) | `2` | `8.0` Δ | `8.0` Δ | `8.0` Δ | `8.0` Δ |
| [`hot_standby_feedback`](/parameters/hot-standby-feedback/) | `off` | `on` Δ | `on` Δ | `on` Δ | `on` Δ |
| [`idle_in_transaction_session_timeout`](/parameters/idle-in-transaction-session-timeout/) | `0 ms` | `10min` Δ | `0` = | `1min` Δ | `10min` Δ |
| [`idle_replication_slot_timeout`](/parameters/idle-replication-slot-timeout/) | `0 s` | `7d` Δ | `7d` Δ | `3d` Δ | `7d` Δ |
| [`io_workers`](/parameters/io-workers/) | `3` | `4` Δ | `4` Δ | `4` Δ | `3` = |
| [`log_autovacuum_min_duration`](/parameters/log-autovacuum-min-duration/) | `600000 ms` (10 min) | `1s` Δ | `1s` Δ | `1s` Δ | `1s` Δ |
| [`log_connections`](/parameters/log-connections/) | `""` (empty string) | `authorization` Δ | `authorization` Δ | `receipt,authentication,authorization` Δ | — |
| [`log_destination`](/parameters/log-destination/) | `stderr` | `csvlog` Δ | `csvlog` Δ | `csvlog` Δ | `csvlog` Δ |
| [`log_directory`](/parameters/log-directory/) | `log` | `/pg/log/postgres` Δ | `/pg/log/postgres` Δ | `/pg/log/postgres` Δ | `/pg/log/postgres` Δ |
| [`log_disconnections`](/parameters/log-disconnections/) | `off` | — | — | `on` Δ | — |
| [`log_file_mode`](/parameters/log-file-mode/) | `384` | `0640` Δ | `0640` Δ | `0640` Δ | `0640` Δ |
| [`log_filename`](/parameters/log-filename/) | `postgresql-%Y-%m-%d_%H%M%S.log` | `postgresql-%a.log` Δ | `postgresql-%a.log` Δ | `postgresql-%a.log` Δ | `postgresql-%a.log` Δ |
| [`log_lock_failures`](/parameters/log-lock-failures/) | `off` | `on` Δ | — | `on` Δ | — |
| [`log_lock_waits`](/parameters/log-lock-waits/) | `off` | `on` Δ | `on` Δ | `on` Δ | `on` Δ |
| [`log_min_duration_statement`](/parameters/log-min-duration-statement/) | `-1 ms` | `100` Δ | `1000` Δ | `100` Δ | `100` Δ |
| [`log_replication_commands`](/parameters/log-replication-commands/) | `off` | `on` Δ | `on` Δ | `on` Δ | `on` Δ |
| [`log_rotation_size`](/parameters/log-rotation-size/) | `10240 kB` (10 MiB) | `0` Δ | `0` Δ | `0` Δ | `0` Δ |
| [`log_statement`](/parameters/log-statement/) | `none` | `ddl` Δ | `ddl` Δ | `ddl` Δ | `ddl` Δ |
| [`log_temp_files`](/parameters/log-temp-files/) | `-1 kB` | `1024` Δ | `1024` Δ | `1024` Δ | `1024` Δ |
| [`log_timezone`](/parameters/log-timezone/) | `GMT` | `UTC` Δ | `UTC` Δ | `UTC` Δ | `UTC` Δ |
| [`log_truncate_on_rotation`](/parameters/log-truncate-on-rotation/) | `off` | `on` Δ | `on` Δ | `on` Δ | `on` Δ |
| [`logging_collector`](/parameters/logging-collector/) | `off` | `on` Δ | `on` Δ | `on` Δ | `on` Δ |
| [`maintenance_io_concurrency`](/parameters/maintenance-io-concurrency/) | `16` | `100` Δ | `100` Δ | `100` Δ | `100` Δ |
| [`maintenance_work_mem`](/parameters/maintenance-work-mem/) | `65536 kB` (64 MiB) | `2048MB` Δ | `4096MB` Δ | `2048MB` Δ | `2048MB` Δ |
| [`max_connections`](/parameters/max-connections/) | `100` | `500` Δ | `500` Δ | `500` Δ | `250` Δ |
| [`max_locks_per_transaction`](/parameters/max-locks-per-transaction/) | `64` | `500` Δ | `1000` Δ | `500` Δ | `250` Δ |
| [`max_logical_replication_workers`](/parameters/max-logical-replication-workers/) | `4` | `8` Δ | `8` Δ | `8` Δ | `8` Δ |
| [`max_parallel_maintenance_workers`](/parameters/max-parallel-maintenance-workers/) | `2` | `3` Δ | `3` Δ | `3` Δ | `2` = |
| [`max_parallel_workers`](/parameters/max-parallel-workers/) | `8` | `4` Δ | `7` Δ | `4` Δ | `4` Δ |
| [`max_parallel_workers_per_gather`](/parameters/max-parallel-workers-per-gather/) | `2` | `2` = | `4` Δ | `0` Δ | `0` Δ |
| [`max_replication_slots`](/parameters/max-replication-slots/) | `10` | `50` Δ | `50` Δ | `50` Δ | `50` Δ |
| [`max_slot_wal_keep_size`](/parameters/max-slot-wal-keep-size/) | `-1 MB` | `30GB` Δ | `30GB` Δ | `30GB` Δ | `30GB` Δ |
| [`max_standby_archive_delay`](/parameters/max-standby-archive-delay/) | `30000 ms` (30 s) | `10min` Δ | `10min` Δ | `10min` Δ | `10min` Δ |
| [`max_standby_streaming_delay`](/parameters/max-standby-streaming-delay/) | `30000 ms` (30 s) | `3min` Δ | `3min` Δ | `3min` Δ | `3min` Δ |
| [`max_sync_workers_per_subscription`](/parameters/max-sync-workers-per-subscription/) | `2` | `6` Δ | `6` Δ | `6` Δ | `6` Δ |
| [`max_wal_senders`](/parameters/max-wal-senders/) | `10` | `50` Δ | `50` Δ | `50` Δ | `50` Δ |
| [`max_wal_size`](/parameters/max-wal-size/) | `1024 MB` (1 GiB) | `20GB` Δ | `20GB` Δ | `20GB` Δ | `20GB` Δ |
| [`max_worker_processes`](/parameters/max-worker-processes/) | `8` | `24` Δ | `28` Δ | `24` Δ | `20` Δ |
| [`min_parallel_index_scan_size`](/parameters/min-parallel-index-scan-size/) | `64 8kB` (512 KiB (64 × 8kB)) | `2MB` Δ | — | `2MB` Δ | — |
| [`min_parallel_table_scan_size`](/parameters/min-parallel-table-scan-size/) | `1024 8kB` (8 MiB (1024 × 8kB)) | `32MB` Δ | — | `32MB` Δ | — |
| [`min_wal_size`](/parameters/min-wal-size/) | `80 MB` (80 MiB) | `5GB` Δ | `5GB` Δ | `5GB` Δ | `5GB` Δ |
| [`output_plugin_libraries`](/parameters/output-plugin-libraries/) | `pgoutput, test_decoding` | `pgoutput, test_decoding, wal2json` Δ | `pgoutput, test_decoding, wal2json` Δ | `pgoutput, test_decoding, wal2json` Δ | `pgoutput, test_decoding, wal2json` Δ |
| [`parallel_setup_cost`](/parameters/parallel-setup-cost/) | `1000` | `2000` Δ | — | `2000` Δ | — |
| [`parallel_tuple_cost`](/parameters/parallel-tuple-cost/) | `0.1` | `0.2` Δ | — | `0.2` Δ | — |
| [`random_page_cost`](/parameters/random-page-cost/) | `4` | `1.1` Δ | `1.1` Δ | `1.1` Δ | `1.1` Δ |
| [`shared_buffers`](/parameters/shared-buffers/) | `16384 8kB` (128 MiB (16384 × 8kB)) | `8192MB` Δ | `8192MB` Δ | `8192MB` Δ | `8192MB` Δ |
| [`shared_preload_libraries`](/parameters/shared-preload-libraries/) | `""` (empty string) | `pg_stat_statements, auto_explain` Δ | `pg_stat_statements, auto_explain` Δ | `pg_stat_statements, auto_explain` Δ | `pg_stat_statements, auto_explain` Δ |
| [`ssl`](/parameters/ssl/) | `off` | `on` Δ | `on` Δ | `on` Δ | `on` Δ |
| [`ssl_ca_file`](/parameters/ssl-ca-file/) | `""` (empty string) | `/pg/cert/ca.crt` Δ | `/pg/cert/ca.crt` Δ | `/pg/cert/ca.crt` Δ | `/pg/cert/ca.crt` Δ |
| [`ssl_cert_file`](/parameters/ssl-cert-file/) | `server.crt` | `/pg/cert/server.crt` Δ | `/pg/cert/server.crt` Δ | `/pg/cert/server.crt` Δ | `/pg/cert/server.crt` Δ |
| [`ssl_key_file`](/parameters/ssl-key-file/) | `server.key` | `/pg/cert/server.key` Δ | `/pg/cert/server.key` Δ | `/pg/cert/server.key` Δ | `/pg/cert/server.key` Δ |
| [`superuser_reserved_connections`](/parameters/superuser-reserved-connections/) | `3` | `10` Δ | `10` Δ | `10` Δ | `10` Δ |
| [`sync_replication_slots`](/parameters/sync-replication-slots/) | `off` | `true` Δ | `true` Δ | `true` Δ | `true` Δ |
| [`temp_file_limit`](/parameters/temp-file-limit/) | `-1 kB` | `5GB` Δ | `20GB` Δ | `5GB` Δ | `5GB` Δ |
| [`track_activity_query_size`](/parameters/track-activity-query-size/) | `1024 B` (1 KiB) | `8192` Δ | `8192` Δ | `32768` Δ | `8192` Δ |
| [`track_commit_timestamp`](/parameters/track-commit-timestamp/) | `off` | `on` Δ | `on` Δ | `on` Δ | `on` Δ |
| [`track_cost_delay_timing`](/parameters/track-cost-delay-timing/) | `off` | — | `on` Δ | `on` Δ | — |
| [`track_functions`](/parameters/track-functions/) | `none` | `all` Δ | `all` Δ | `all` Δ | `all` Δ |
| [`track_io_timing`](/parameters/track-io-timing/) | `off` | `on` Δ | `on` Δ | `on` Δ | `on` Δ |
| [`unix_socket_directories`](/parameters/unix-socket-directories/) | `/var/run/postgresql` | `/var/run/postgresql, /tmp` Δ | `/var/run/postgresql, /tmp` Δ | `/var/run/postgresql, /tmp` Δ | `/var/run/postgresql, /tmp` Δ |
| [`vacuum_cost_delay`](/parameters/vacuum-cost-delay/) | `0 ms` | `20ms` Δ | `10ms` Δ | `20ms` Δ | `20ms` Δ |
| [`vacuum_cost_limit`](/parameters/vacuum-cost-limit/) | `200` | `2000` Δ | `10000` Δ | `2000` Δ | `2000` Δ |
| [`wal_buffers`](/parameters/wal-buffers/) | `-1 8kB` | `16MB` Δ | `16MB` Δ | `16MB` Δ | `16MB` Δ |
| [`wal_compression`](/parameters/wal-compression/) | `off` | `lz4` Δ | `lz4` Δ | `lz4` Δ | `lz4` Δ |
| [`wal_level`](/parameters/wal-level/) | `replica` | `logical` Δ | `logical` Δ | `logical` Δ | `logical` Δ |
| [`wal_log_hints`](/parameters/wal-log-hints/) | `off` | `on` Δ | `on` Δ | `on` Δ | `on` Δ |
| [`wal_receiver_status_interval`](/parameters/wal-receiver-status-interval/) | `10 s` | `1s` Δ | `1s` Δ | `1s` Δ | `1s` Δ |
| [`wal_writer_delay`](/parameters/wal-writer-delay/) | `200 ms` | `20ms` Δ | `20ms` Δ | `10ms` Δ | `20ms` Δ |
| [`wal_writer_flush_after`](/parameters/wal-writer-flush-after/) | `128 8kB` (1 MiB (128 × 8kB)) | `1MB` = | `1MB` = | `0` Δ | `1MB` = |
| [`work_mem`](/parameters/work-mem/) | `4096 kB` (4 MiB) | `64MB` Δ | `64MB` Δ | `64MB` Δ | `32MB` Δ |
{.full-width}

`Δ` means the rendered value differs from upstream boot, `=` means explicitly declared but equal, and `—` means unmodified.

## Explicitly declared without a boot-default change {#declared-unchanged}

These parameters are explicitly declared by at least one PG18 template, but every declared value equals the upstream boot default. They are not the same as “unmodified”, so they remain visible for audit.

[`autovacuum_naptime`](/parameters/autovacuum-naptime/) · [`autovacuum_vacuum_cost_limit`](/parameters/autovacuum-vacuum-cost-limit/) · [`huge_pages`](/parameters/huge-pages/) · [`io_method`](/parameters/io-method/) · [`log_checkpoints`](/parameters/log-checkpoints/) · [`log_rotation_age`](/parameters/log-rotation-age/) · [`max_prepared_transactions`](/parameters/max-prepared-transactions/) · [`password_encryption`](/parameters/password-encryption/) · [`wal_receiver_timeout`](/parameters/wal-receiver-timeout/)

## Version coverage {#version-coverage}

| PG | OLTP | OLAP | CRIT | TINY |
| --- | ---: | ---: | ---: | ---: |
| PG9.0 | 58 / 53 | 58 / 53 | 61 / 56 | 56 / 52 |
| PG9.1 | 61 / 56 | 61 / 56 | 64 / 59 | 59 / 55 |
| PG9.2 | 66 / 61 | 66 / 61 | 69 / 64 | 64 / 60 |
| PG9.3 | 68 / 62 | 68 / 62 | 71 / 65 | 66 / 61 |
| PG9.4 | 72 / 65 | 72 / 65 | 75 / 68 | 70 / 64 |
| PG9.5 | 76 / 69 | 76 / 69 | 79 / 72 | 74 / 68 |
| PG9.6 | 81 / 73 | 79 / 70 | 84 / 76 | 77 / 69 |
| PG10 | 86 / 77 | 82 / 73 | 89 / 82 | 80 / 73 |
| PG11 | 87 / 78 | 85 / 76 | 90 / 83 | 81 / 73 |
| PG12 | 87 / 78 | 85 / 76 | 90 / 83 | 81 / 73 |
| PG13 | 90 / 81 | 88 / 79 | 93 / 86 | 84 / 76 |
| PG14 | 91 / 81 | 89 / 79 | 94 / 86 | 85 / 76 |
| PG15 | 92 / 81 | 90 / 79 | 95 / 86 | 86 / 76 |
| PG16 | 92 / 81 | 90 / 79 | 94 / 85 | 86 / 76 |
| PG17 | 93 / 82 | 91 / 80 | 95 / 86 | 87 / 77 |
| PG18 | 99 / 87 | 97 / 85 | 101 / 91 | 91 / 79 |
| PG19 Beta 3 | 98 / 85 | 96 / 83 | 100 / 89 | 90 / 78 |
{.full-width}

Each cell is “explicitly declared / different from upstream boot”.

## Provenance and interpretation boundary {#provenance}

- Pigsty revision: [`e55612ee6a6c5f92bececb3416d59b9b314529f9`](https://github.com/pgsty/pigsty/commit/e55612ee6a6c5f92bececb3416d59b9b314529f9)
- Complete machine matrix: [data/pigsty.json](/data/pigsty.json)
- Complete GUC export: [data/guc.jsonl](/data/guc.jsonl)

> [!CAUTION]
> Pigsty rationale on each parameter page is Advice and remains “pending human review” until confirmed by maintainers. This page summarizes only reproducibly rendered value facts.
