Skip to content

This is the multi-page printable view of this section. .

Return to the regular view of this page.

Preset Options

Complete dossiers for 24 core PostgreSQL settings in Preset Options.

Dossier URLs remain flat; this category exists only to organize browsing and the sidebar.

1 - block_size

block_size — Shows the size of a disk block. Observed in PG9.0–19 Beta 3; its last measured boot default is 8192 in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows the size of a disk block.”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value81928192
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value8192
8192

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–19 Beta 3 8192 8192

How it works

Shows the size of a disk block. It is read-only and cannot be changed with SET or configuration-file edits.

It reflects BLCKSZ, normally 8 KiB, chosen when PostgreSQL was built; all heap and index page layouts depend on it.

Interpret it with wal_block_size, wal_segment_size, segment_size. Applications and operations tooling may read block_size for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record block_size as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use block_size to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only block_size with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

wal_block_size · wal_segment_size · segment_size · data_checksums · server_version_num · max_function_args

References

2 - data_checksums

data_checksums — Shows whether data checksums are turned on for this cluster. Observed in PG9.3–19 Beta 3; its last measured boot default is off in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows whether data checksums are turned on for this cluster.”

Identity

Type , Valueenum
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Value""
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Valueoff
off

Lifecycle

Fact Value
First observed PG9.3
Present in PG9.3–19 Beta 3
Removed in No
Introduction commit 5a7e75849cb5 — Add a GUC to report whether data page checksums are enabled.
Commit date 2013-09-16
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.3–19 Beta 3 off off

How it works

Reports the cluster-wide data-checksum state stored in the control file. It is internal/read-only in SQL and cannot be changed with SET.

Checksums are chosen by initdb or changed later with the server stopped by pg_checksums. PostgreSQL verifies page checksums when reading from storage and computes them when writing pages.

A checksum detects a torn or corrupted page; it does not repair it or prove that WAL, backups, memory, and every storage layer are healthy. Changes require an offline procedure, capacity for a full-cluster scan, and a verified backup.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Treat the value as an integrity capability, not a performance knob. Prefer checksums for persistent clusters and monitor checksum failures; use a planned offline pg_checksums procedure for an existing cluster.
OLAP Budget the checksum CPU and full-cluster enable/disable scan on the actual dataset. Verify backup and replica compatibility before the offline transition.
Small nodes Enable at initdb when possible. For an existing small cluster, pg_checksums is usually simpler than a rebuild, but still requires shutdown and a recoverable backup.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.3–19 Beta 3 unmodified; OLAP: PG9.3–19 Beta 3 unmodified; CRIT: PG9.3–19 Beta 3 unmodified; TINY: PG9.3–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change the read-only report with SET or ALTER SYSTEM.
  • Running pg_checksums while the server is not cleanly shut down.
  • Treating a checksum failure as repairable by ignoring the error.
  • Assuming checksums validate WAL records, logical correctness, or backups by themselves.
  • Enabling checksums without monitoring checksum failures and storage health.

ignore_checksum_failure · zero_damaged_pages · wal_log_hints · full_page_writes · data_directory · block_size

References

3 - data_directory_mode

data_directory_mode shows the mode of the data directory. It is read-only metadata in PG11–18, not a runtime tuning control.
Note

Fact — official short description: “Shows the mode of the data directory.”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value0511
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value448
448

Lifecycle

Fact Value
First observed PG11
Present in PG11–19 Beta 3
Removed in No
Introduction commit c37b3d08ca68 — Allow group access on PGDATA
Commit date 2018-04-07
Discussion thread 1

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG11–19 Beta 3 448 448

How it works

Shows the mode of the data directory. It is read-only and cannot be changed with SET or configuration-file edits.

It reports the effective Unix permission mode of the data directory, commonly 0700 or group-readable 0750, in decimal pg_settings representation.

Interpret it with block_size, data_checksums, debug_assertions. Applications and operations tooling may read data_directory_mode for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record data_directory_mode as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use data_directory_mode to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG11–19 Beta 3 unmodified; OLAP: PG11–19 Beta 3 unmodified; CRIT: PG11–19 Beta 3 unmodified; TINY: PG11–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only data_directory_mode with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

block_size · data_checksums · debug_assertions · huge_pages_status · in_hot_standby · integer_datetimes

References

4 - debug_assertions

debug_assertions — Shows whether the running server has assertion checks enabled. Observed in PG9.0–19 Beta 3; its last measured boot default is off in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows whether the running server has assertion checks enabled.”

Identity

Type , Valuebool
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Valueoff
off

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–19 Beta 3 off off

How it works

Shows whether the running server has assertion checks enabled. It is read-only and cannot be changed with SET or configuration-file edits.

It reflects whether the server binary was built with assertion checks, a developer diagnostic that adds overhead and may abort on violated invariants.

Interpret it with server_version, server_version_num, server_encoding. Applications and operations tooling may read debug_assertions for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record debug_assertions as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use debug_assertions to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only debug_assertions with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

server_version · server_version_num · server_encoding · ssl_library · integer_datetimes · block_size

References

5 - debug_exec_backend

debug_exec_backend — Shows whether the running server is built with EXEC_BACKEND enabled. Observed in PG19 Beta 3; its last measured boot default is off in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows whether the running server is built with EXEC_BACKEND enabled.”

Identity

Type , Valuebool
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Valueoff
off

Lifecycle

Fact Value
First observed PG19 Beta 3
Present in PG19 Beta 3
Removed in No
Introduction commit b3fe098d330f — Add GUC to show EXEC_BACKEND state
Commit date 2025-11-26
Discussion thread 1

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG19 Beta 3 off off

How it works

PostgreSQL describes debug_exec_backend as follows: “Shows whether the running server is built with EXEC_BACKEND enabled.” It is read-only state reported by PostgreSQL, not an operator-controlled tuning knob. The atlas measures it in PG19 Beta 3; boot_val is the compiled or initialized baseline, not proof of a running cluster’s effective setting.

EXEC_BACKEND creates new backends by executing a fresh server process instead of relying only on forked address-space inheritance. The reported value is determined by platform or build flags—normally true on Windows—and is useful to explain parameter propagation and platform-specific startup behavior.

Read it together with debug_assertions, server_version, server_version_num, dynamic_shared_memory_type. Check SHOW and pg_settings on the target server, verify the source and pending_restart fields, and compare workload, logs, and resource metrics before and after any change.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Keep the upstream default until a reproducible operational need is demonstrated. Test under representative concurrency and inspect logs, latency, and the related settings before changing cluster-wide policy.
OLAP Evaluate the setting with representative long-running and batch work. Measure total runtime, resource use, log volume, and failure behavior across the whole job rather than one isolated operation.
Small nodes Minimize overrides and document rollback. A small system has less room for extra logging, workers, memory, or retained WAL, so validate the change with explicit resource limits.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG19 Beta 3 unmodified; OLAP: PG19 Beta 3 unmodified; CRIT: PG19 Beta 3 unmodified; TINY: PG19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Treating the measured boot_val for debug_exec_backend as proof of the effective value on an initialized or managed cluster.
  • Applying a change as though it were immediate while pg_settings reports internal context.
  • Changing this setting in isolation without checking the linked limits, observability, and rollback path.
  • Depending on beta behavior in production without retesting the PostgreSQL 19 final release.

debug_assertions · server_version · server_version_num · dynamic_shared_memory_type

References

6 - effective_wal_level

effective_wal_level — Shows effective WAL level. Observed in PG19 Beta 3; its last measured boot default is replica in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows effective WAL level.”

Identity

Type , Valueenum
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Valueminimal, replica, logical
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Valuereplica
replica

Lifecycle

Fact Value
First observed PG19 Beta 3
Present in PG19 Beta 3
Removed in No
Introduction commit 67c20979ce72 — Toggle logical decoding dynamically based on logical slot presence.
Commit date 2025-12-23
Discussion thread 1

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG19 Beta 3 replica replica

How it works

PostgreSQL describes effective_wal_level as follows: “Shows effective WAL level.” It is read-only state reported by PostgreSQL, not an operator-controlled tuning knob. The atlas measures it in PG19 Beta 3; boot_val is the compiled or initialized baseline, not proof of a running cluster’s effective setting.

Unlike configured wal_level, this read-only value reports the operational logging level. PostgreSQL 19 can maintain logical-equivalent WAL when logical slots require it even if wal_level is replica, and a standby inherits the effective value from the most upstream server in its replication chain.

Read it together with wal_level, max_replication_slots, max_wal_senders, track_commit_timestamp. Check SHOW and pg_settings on the target server, verify the source and pending_restart fields, and compare workload, logs, and resource metrics before and after any change.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Keep the upstream default until a reproducible operational need is demonstrated. Test under representative concurrency and inspect logs, latency, and the related settings before changing cluster-wide policy.
OLAP Evaluate the setting with representative long-running and batch work. Measure total runtime, resource use, log volume, and failure behavior across the whole job rather than one isolated operation.
Small nodes Minimize overrides and document rollback. A small system has less room for extra logging, workers, memory, or retained WAL, so validate the change with explicit resource limits.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG19 Beta 3 unmodified; OLAP: PG19 Beta 3 unmodified; CRIT: PG19 Beta 3 unmodified; TINY: PG19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Treating the measured boot_val for effective_wal_level as proof of the effective value on an initialized or managed cluster.
  • Applying a change as though it were immediate while pg_settings reports internal context.
  • Changing this setting in isolation without checking the linked limits, observability, and rollback path.
  • Depending on beta behavior in production without retesting the PostgreSQL 19 final release.

wal_level · max_replication_slots · max_wal_senders · track_commit_timestamp

References

7 - huge_pages_status

huge_pages_status indicates the status of huge pages. It is read-only metadata in PG17–18, not a runtime tuning control.
Note

Fact — official short description: “Indicates the status of huge pages.”

Identity

Type , Valueenum
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Valueoff, on, unknown
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Valueunknown
unknown

Lifecycle

Fact Value
First observed PG17
Present in PG17–19 Beta 3
Removed in No
Introduction commit a14354cac0e3 — Add GUC parameter “huge_pages_status”
Commit date 2023-07-06
Discussion thread 1

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG17–19 Beta 3 unknown unknown

How it works

Reports whether the main shared-memory area actually uses explicit huge pages. It is an internal, read-only startup result with values off, on, or unknown.

The result is derived after applying huge_pages and attempting startup allocation against operating-system support and the available huge-page pool. It is not fixed by the PostgreSQL binary or initdb.

Use shared_memory_size_in_huge_pages to estimate the required pool and compare huge_pages_status with the requested huge_pages policy after every restart. Transparent Huge Pages are a separate operating-system mechanism.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable directly. If on was requested but status is off, check huge_pages policy, OS support, pool size, permissions, and startup logs; resize the OS pool before restarting.
OLAP Large shared memory can need many huge pages. Reserve the pool with headroom for the real shared_memory_size and verify NUMA placement and restart behavior on each node.
Small nodes Keep huge_pages=try unless the platform policy says otherwise. Do not reserve a large OS huge-page pool merely to make the status on for a small shared-memory area.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG17–19 Beta 3 unmodified; OLAP: PG17–19 Beta 3 unmodified; CRIT: PG17–19 Beta 3 unmodified; TINY: PG17–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to SET a read-only startup result.
  • Confusing huge_pages_status with the configured huge_pages request.
  • Ignoring a too-small operating-system huge-page pool or startup allocation failure.
  • Confusing explicit PostgreSQL huge pages with Transparent Huge Pages.
  • Assuming a status from one node applies to failover nodes with different OS configuration.

huge_pages · shared_memory_size_in_huge_pages · shared_memory_size · shared_buffers · min_dynamic_shared_memory · dynamic_shared_memory_type

References

8 - in_hot_standby

in_hot_standby shows whether hot standby is currently active. It is read-only metadata in PG14–18, not a runtime tuning control.
Note

Fact — official short description: “Shows whether hot standby is currently active.”

Identity

Type , Valuebool
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Valueoff
off

Lifecycle

Fact Value
First observed PG14
Present in PG14–19 Beta 3
Removed in No
Introduction commit bf8a662c9afa — Introduce a new GUC_REPORT setting “in_hot_standby”.
Commit date 2021-01-05
Discussion thread 1

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG14–19 Beta 3 off off

How it works

Shows whether hot standby is currently active. It is read-only and cannot be changed with SET or configuration-file edits.

It changes as recovery enters or leaves hot-standby operation and is intended for feature detection by SQL code.

Interpret it with hot_standby, max_standby_streaming_delay, hot_standby_feedback. Applications and operations tooling may read in_hot_standby for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record in_hot_standby as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use in_hot_standby to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG14–19 Beta 3 unmodified; OLAP: PG14–19 Beta 3 unmodified; CRIT: PG14–19 Beta 3 unmodified; TINY: PG14–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only in_hot_standby with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

hot_standby · max_standby_streaming_delay · hot_standby_feedback · primary_conninfo · block_size · data_checksums

References

9 - integer_datetimes

integer_datetimes — Shows whether datetimes are integer based. Observed in PG9.0–19 Beta 3; its last measured boot default is on in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows whether datetimes are integer based.”

Identity

Type , Valuebool
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Valueon
on

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–19 Beta 3 on on

How it works

Shows whether datetimes are integer based. It is read-only and cannot be changed with SET or configuration-file edits.

It reports the server’s datetime representation. All measured PG9.0–19 Beta 3 builds use integer datetimes; applications should treat it as compatibility metadata.

Interpret it with server_version, server_version_num, server_encoding. Applications and operations tooling may read integer_datetimes for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record integer_datetimes as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use integer_datetimes to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only integer_datetimes with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

server_version · server_version_num · server_encoding · ssl_library · debug_assertions · block_size

References

10 - lc_collate

lc_collate — Shows the collation order locale. Observed in PG9.0–15; its last measured boot default is C in PG15, with internal context. It was removed in PG16.
Note

Fact — official short description: “Shows the collation order locale.”

Identity

Type , Valuestring
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , ValueC
C

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–15
Removed in PG16
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–15 C C

How it works

Reported the current database’s collation locale through PG15. It was an internal read-only value, not a configurable GUC, and PostgreSQL 16 removed it from pg_settings.

The collation locale is selected when a database is created and can differ between databases in one cluster. It affects ordering and comparison semantics; changing the server configuration cannot rewrite existing indexes or database locale metadata.

On PG16 and later, monitoring and applications should read the current database row in pg_database and its locale-provider-specific metadata, and use pg_collation for individual collation objects. Test collation-version changes separately from this removed reporter.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Replace SHOW/current_setting readers with a version-aware pg_database query, and regression-test indexed ordering and uniqueness when moving databases between locale providers or versions.
OLAP Record per-database provider and locale beside analytical exports. A desired collation change requires a deliberate database/object migration and possible REINDEX, not a GUC edit.
Small nodes Use the database-creation default only when it is intentional. Preserve locale metadata in inventory and backups so a rebuild does not silently choose different ordering rules.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG15; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–15 unmodified; OLAP: PG9.0–15 unmodified; CRIT: PG9.0–15 unmodified; TINY: PG9.0–15 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to remove or set lc_collate in configuration even though it was always internal/read-only.
  • Assuming one cluster-wide value applies to every database.
  • Changing operating-system or ICU locale data without checking collation versions and rebuilding affected indexes.
  • Comparing text behavior across providers using only a locale name.

lc_ctype · server_encoding · client_encoding · icu_validation_level · default_text_search_config · server_version_num

References

11 - lc_ctype

lc_ctype — Shows the character classification and case conversion locale. Observed in PG9.0–15; its last measured boot default is C in PG15, with internal context. It was removed in PG16.
Note

Fact — official short description: “Shows the character classification and case conversion locale.”

Identity

Type , Valuestring
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , ValueC
C

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–15
Removed in PG16
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–15 C C

How it works

Reported the current database’s character-classification and case-conversion locale through PG15. It was internal/read-only and PostgreSQL 16 removed it from pg_settings.

The locale is fixed when a database is created and can differ by database. It affects locale-aware character classes and case conversion, but is not a session switch and cannot be changed with ALTER SYSTEM.

On PG16 and later, migrate SHOW/current_setting consumers to pg_database locale-provider metadata and inspect pg_collation for object-level behavior. Application tests should cover case conversion and pattern/character-class assumptions.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Migrate readers to pg_database and test case-folding, upper/lower behavior, and expression indexes before a locale/provider upgrade.
OLAP Record locale metadata with ETL outputs whose classification or normalization depends on it. Changing the locale requires deliberate migration, not a runtime setting.
Small nodes Keep locale choice explicit at database creation and in rebuild automation. Do not assume the host default is stable across images or operating-system upgrades.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG15; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–15 unmodified; OLAP: PG9.0–15 unmodified; CRIT: PG9.0–15 unmodified; TINY: PG9.0–15 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to configure a value that was always internal/read-only.
  • Assuming character classification is identical across databases or locale providers.
  • Changing locale libraries without testing expression indexes and case-conversion results.
  • Migrating only monitoring text while leaving applications dependent on SHOW lc_ctype.

lc_collate · server_encoding · client_encoding · icu_validation_level · default_text_search_config · server_version_num

References

12 - max_function_args

max_function_args — Shows the maximum number of function arguments. Observed in PG9.0–19 Beta 3; its last measured boot default is 100 in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows the maximum number of function arguments.”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value100100
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value100
100

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–19 Beta 3 100 100

How it works

Shows the maximum number of function arguments. It is read-only and cannot be changed with SET or configuration-file edits.

It exposes the FUNC_MAX_ARGS build constant; changing it requires a compatible custom build, not a configuration edit.

Interpret it with max_identifier_length, max_index_keys, block_size. Applications and operations tooling may read max_function_args for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record max_function_args as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use max_function_args to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only max_function_args with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

max_identifier_length · max_index_keys · block_size · server_version_num · data_checksums · data_directory_mode

References

13 - max_identifier_length

max_identifier_length — Shows the maximum identifier length. Observed in PG9.0–19 Beta 3; its last measured boot default is 63 in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows the maximum identifier length.”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value6363
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value63
63

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–19 Beta 3 63 63

How it works

Shows the maximum identifier length. It is read-only and cannot be changed with SET or configuration-file edits.

It exposes NAMEDATALEN minus one; longer unquoted or quoted identifiers are truncated when objects are created.

Interpret it with max_function_args, max_index_keys, block_size. Applications and operations tooling may read max_identifier_length for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record max_identifier_length as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use max_identifier_length to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only max_identifier_length with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

max_function_args · max_index_keys · block_size · server_version_num · data_checksums · data_directory_mode

References

14 - max_index_keys

max_index_keys — Shows the maximum number of index keys. Observed in PG9.0–19 Beta 3; its last measured boot default is 32 in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows the maximum number of index keys.”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value3232
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value32
32

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–19 Beta 3 32 32

How it works

Shows the maximum number of index keys. It is read-only and cannot be changed with SET or configuration-file edits.

It exposes the INDEX_MAX_KEYS build limit on index attributes, including key and INCLUDE columns where applicable.

Interpret it with max_function_args, max_identifier_length, block_size. Applications and operations tooling may read max_index_keys for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record max_index_keys as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use max_index_keys to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only max_index_keys with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

max_function_args · max_identifier_length · block_size · server_version_num · data_checksums · data_directory_mode

References

15 - num_os_semaphores

num_os_semaphores — Shows the number of semaphores required for the server. Observed in PG18–19 Beta 3; its last measured boot default is 0 in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows the number of semaphores required for the server.”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value02147483647
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value0
0

Lifecycle

Fact Value
First observed PG18
Present in PG18–19 Beta 3
Removed in No
Introduction commit 0dcaea569034 — Introduce num_os_semaphores GUC.
Commit date 2024-07-26
Discussion thread 1

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG18–19 Beta 3 0 0

How it works

Shows the number of semaphores required for the server. It is read-only and cannot be changed with SET or configuration-file edits.

It is computed from the startup process and connection configuration so administrators can plan System V semaphore capacity.

Interpret it with shared_memory_size, shared_memory_size_in_huge_pages, huge_pages. Applications and operations tooling may read num_os_semaphores for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record num_os_semaphores as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use num_os_semaphores to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG18–19 Beta 3 unmodified; OLAP: PG18–19 Beta 3 unmodified; CRIT: PG18–19 Beta 3 unmodified; TINY: PG18–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only num_os_semaphores with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

shared_memory_size · shared_memory_size_in_huge_pages · huge_pages · huge_pages_status · max_connections · block_size

References

16 - segment_size

segment_size — Shows the number of pages per disk file. Observed in PG9.0–19 Beta 3; its last measured boot default is 1 GiB (131072 × 8kB) in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows the number of pages per disk file.”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value8kB
Raw unit
Range , Value131072131072
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value131072
1 GiB (131072 × 8kB)

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–19 Beta 3 131072 8kB 1 GiB (131072 × 8kB)

How it works

Shows the number of pages per disk file. It is read-only and cannot be changed with SET or configuration-file edits.

It reports the number of database pages per relation segment; together with block_size it determines the file-segmentation boundary.

Interpret it with block_size, wal_block_size, wal_segment_size. Applications and operations tooling may read segment_size for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record segment_size as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use segment_size to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only segment_size with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

block_size · wal_block_size · wal_segment_size · data_checksums · server_version_num · data_directory_mode

References

17 - server_encoding

server_encoding — Shows the server (database) character set encoding. Observed in PG9.0–19 Beta 3; its last measured boot default is SQL_ASCII in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows the server (database) character set encoding.”

Identity

Type , Valuestring
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , ValueSQL_ASCII
SQL_ASCII

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–19 Beta 3 SQL_ASCII SQL_ASCII

How it works

Shows the server (database) character set encoding. It is read-only and cannot be changed with SET or configuration-file edits.

It reports the current database encoding. Encoding is selected at database creation and can differ between databases in a cluster.

Interpret it with lc_collate, lc_ctype, client_encoding. Applications and operations tooling may read server_encoding for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record server_encoding as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use server_encoding to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only server_encoding with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

lc_collate · lc_ctype · client_encoding · default_text_search_config · icu_validation_level · server_version

References

18 - server_version

server_version — Shows the server version. Observed in PG9.0–19 Beta 3; its last measured boot default is 19beta3 (Debian 19~beta3-1.pgdg13+1) in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows the server version.”

Identity

Type , Valuestring
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value19beta3 (Debian 19~beta3-1.pgdg13+1)
19beta3 (Debian 19~beta3-1.pgdg13+1)

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0 9.0.23 9.0.23
PG9.1 9.1.24 9.1.24
PG9.2 9.2.23 9.2.23
PG9.3 9.3.25 9.3.25
PG9.4 9.4.26 9.4.26
PG9.5 9.5.25 9.5.25
PG9.6 9.6.24 9.6.24
PG10 10.23 (Debian 10.23-1.pgdg110+1) 10.23 (Debian 10.23-1.pgdg110+1)
PG11 11.22 (Debian 11.22-1.pgdg120+1) 11.22 (Debian 11.22-1.pgdg120+1)
PG12 12.22 (Debian 12.22-1.pgdg120+1) 12.22 (Debian 12.22-1.pgdg120+1)
PG13 13.23 (Debian 13.23-1.pgdg13+1) 13.23 (Debian 13.23-1.pgdg13+1)
PG14 14.24 (Debian 14.24-1.pgdg13+2) 14.24 (Debian 14.24-1.pgdg13+2)
PG15 15.19 (Debian 15.19-1.pgdg13+2) 15.19 (Debian 15.19-1.pgdg13+2)
PG16 16.15 (Debian 16.15-1.pgdg13+2) 16.15 (Debian 16.15-1.pgdg13+2)
PG17 17.11 (Debian 17.11-1.pgdg13+2) 17.11 (Debian 17.11-1.pgdg13+2)
PG18 18.6 (Debian 18.6-1.pgdg13+2) 18.6 (Debian 18.6-1.pgdg13+2)
PG19 Beta 3 19beta3 (Debian 19~beta3-1.pgdg13+1) 19beta3 (Debian 19~beta3-1.pgdg13+1)

How it works

Shows the server version. It is read-only and cannot be changed with SET or configuration-file edits.

It is the human-readable server build/version string and may include vendor packaging text; it is not safe for numeric ordering.

Interpret it with server_version_num, server_encoding, ssl_library. Applications and operations tooling may read server_version for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record server_version as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use server_version to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only server_version with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

server_version_num · server_encoding · ssl_library · integer_datetimes · debug_assertions · block_size

References

19 - server_version_num

server_version_num — Shows the server version as an integer. Observed in PG9.0–19 Beta 3; its last measured boot default is 190000 in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows the server version as an integer.”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value190000190000
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value190000
190000

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0 90023 90023
PG9.1 90124 90124
PG9.2 90223 90223
PG9.3 90325 90325
PG9.4 90426 90426
PG9.5 90525 90525
PG9.6 90624 90624
PG10 100023 100023
PG11 110022 110022
PG12 120022 120022
PG13 130023 130023
PG14 140024 140024
PG15 150019 150019
PG16 160015 160015
PG17 170011 170011
PG18 180006 180006
PG19 Beta 3 190000 190000

How it works

Reports the running server binary’s version as an integer. It is internal/read-only and is determined by the binary, not by initdb or database creation.

For the measured PG9.0–19 Beta 3 releases, the integer encodes the major version and minor update so software can make numeric feature/version comparisons without parsing vendor text from server_version.

Use it for compatibility gating only when server-side feature discovery is unavailable. Extensions and clients must still account for vendor backports that do not change the upstream version number.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record it from every server after upgrade and use numeric comparisons in deployment checks; changing it means running a different PostgreSQL binary.
OLAP Verify coordinator, workers, replicas, and extension builds against the actual server version before enabling version-specific SQL or planner features.
Small nodes Use the value for simple compatibility checks, but prefer probing the required feature. Do not attempt to alter it through configuration or initdb.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Comparing the integer as a string.
  • Trying to change it with configuration or by recreating a database.
  • Assuming the number captures vendor backports and downstream patches.
  • Using a client-library version as a substitute for the connected server version.

server_version · server_encoding · integer_datetimes · ssl_library · max_identifier_length · block_size

References

20 - shared_memory_size

shared_memory_size shows the size of the server’s main shared memory area (rounded up to the nearest MB). It is read-only metadata in PG15–18, not a runtime tuning control.
Note

Fact — official short description: “Shows the size of the server’s main shared memory area (rounded up to the nearest MB).”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , ValueMB
Raw unit
Range , Value02147483647
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value0
0 B

Lifecycle

Fact Value
First observed PG15
Present in PG15–19 Beta 3
Removed in No
Introduction commit bd1788051b02 — Introduce GUC shared_memory_size
Commit date 2021-09-08
Discussion thread 1

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG15–19 Beta 3 0 MB 0 B

How it works

Shows the size of the server’s main shared memory area (rounded up to the nearest MB). It is read-only and cannot be changed with SET or configuration-file edits.

It reports the rounded size of PostgreSQL’s main shared-memory segment after startup sizing.

Interpret it with shared_memory_size_in_huge_pages, huge_pages, huge_pages_status. Applications and operations tooling may read shared_memory_size for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record shared_memory_size as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use shared_memory_size to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG15–19 Beta 3 unmodified; OLAP: PG15–19 Beta 3 unmodified; CRIT: PG15–19 Beta 3 unmodified; TINY: PG15–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only shared_memory_size with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

shared_memory_size_in_huge_pages · huge_pages · huge_pages_status · num_os_semaphores · max_connections · block_size

References

21 - shared_memory_size_in_huge_pages

shared_memory_size_in_huge_pages shows the number of huge pages needed for the main shared memory area. It is read-only metadata in PG15–18, not a runtime tuning control.
Note

Fact — official short description: “Shows the number of huge pages needed for the main shared memory area.”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value-12147483647
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value-1
-1

Lifecycle

Fact Value
First observed PG15
Present in PG15–19 Beta 3
Removed in No
Introduction commit 43c1c4f65eab — Introduce GUC shared_memory_size_in_huge_pages
Commit date 2021-09-21
Discussion thread 1

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG15–19 Beta 3 -1 -1

How it works

Shows the number of huge pages needed for the main shared memory area. It is read-only and cannot be changed with SET or configuration-file edits.

It estimates how many huge pages the main shared-memory segment needs and returns -1 when the platform cannot provide the estimate.

Interpret it with shared_memory_size, huge_pages, huge_pages_status. Applications and operations tooling may read shared_memory_size_in_huge_pages for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record shared_memory_size_in_huge_pages as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use shared_memory_size_in_huge_pages to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG15–19 Beta 3 unmodified; OLAP: PG15–19 Beta 3 unmodified; CRIT: PG15–19 Beta 3 unmodified; TINY: PG15–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only shared_memory_size_in_huge_pages with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

shared_memory_size · huge_pages · huge_pages_status · num_os_semaphores · max_connections · block_size

References

22 - ssl_library

ssl_library shows the name of the SSL library. It is read-only metadata in PG12–18, not a runtime tuning control.
Note

Fact — official short description: “Shows the name of the SSL library.”

Identity

Type , Valuestring
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , ValueOpenSSL
OpenSSL

Lifecycle

Fact Value
First observed PG12
Present in PG12–19 Beta 3
Removed in No
Introduction commit 98efa76fe313 — Add ssl_library preset parameter
Commit date 2018-06-26
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG12–19 Beta 3 OpenSSL OpenSSL

How it works

Shows the name of the SSL library. It is read-only and cannot be changed with SET or configuration-file edits.

It reports the SSL implementation linked into the server, which helps diagnose provider-specific TLS behavior.

Interpret it with server_version, server_version_num, server_encoding. Applications and operations tooling may read ssl_library for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record ssl_library as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use ssl_library to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG12–19 Beta 3 unmodified; OLAP: PG12–19 Beta 3 unmodified; CRIT: PG12–19 Beta 3 unmodified; TINY: PG12–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only ssl_library with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

server_version · server_version_num · server_encoding · integer_datetimes · debug_assertions · block_size

References

23 - wal_block_size

wal_block_size — Shows the block size in the write ahead log. Observed in PG9.0–19 Beta 3; its last measured boot default is 8192 in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows the block size in the write ahead log.”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , Value
Raw unit
Range , Value81928192
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value8192
8192

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–19 Beta 3 8192 8192

How it works

Shows the block size in the write ahead log. It is read-only and cannot be changed with SET or configuration-file edits.

It reflects XLOG_BLCKSZ, normally 8 KiB, chosen at build time and used for WAL I/O buffers.

Interpret it with block_size, wal_segment_size, segment_size. Applications and operations tooling may read wal_block_size for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record wal_block_size as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use wal_block_size to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only wal_block_size with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

block_size · wal_segment_size · segment_size · data_checksums · server_version_num · data_directory_mode

References

24 - wal_segment_size

wal_segment_size — Shows the size of write ahead log segments. Observed in PG9.0–19 Beta 3; its last measured boot default is 16 MiB in PG19 Beta 3, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
Note

Fact — official short description: “Shows the size of write ahead log segments.”

Identity

Type , Valueinteger
Upstream pg_settings type
Context , Valueinternal
Internal/preset and not user-settable
Unit , ValueB
Raw unit
Range , Value10485761073741824
Raw limits in the last observed version
Enum values , Value
— for non-enum types
Category , ValuePreset Options
Upstream classification
Latest boot value , Value16777216
16 MiB

Lifecycle

Fact Value
First observed PG9.0 (research boundary)
Present in PG9.0–19 Beta 3
Removed in No
Introduction commit Not asserted: predates the PG9.0 research boundary
Commit date
Discussion

Default history

Measured PG9.0–19 Beta 3 boot defaults
Versions Raw boot_val Unit Human value
PG9.0–10 2048 8kB 16 MiB (2048 × 8kB)
PG11–19 Beta 3 16777216 B 16 MiB

How it works

Shows the size of write ahead log segments. It is read-only and cannot be changed with SET or configuration-file edits.

It reports the WAL segment size. PostgreSQL 11 and later choose it at initdb time; older clusters normally inherit the build-time value.

Interpret it with min_wal_size, max_wal_size, wal_keep_size. Applications and operations tooling may read wal_segment_size for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences.

Tuning advice

Tip

Advice. These are workload-specific starting points and must be validated with measurements.

Workload Guidance
OLTP Not tunable. Record wal_segment_size as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.
OLAP Not tunable. Use wal_segment_size to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.
Small nodes Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need.

Pigsty

Values use the fixed 8-vCPU, 32-GiB, 100-GiB SSD fixture and render the current Pigsty templates for PG19 Beta 3; this does not assert current Pigsty support for that historical or beta release.

Template Effective value Versus upstream boot Source expression
OLTP Unmodified
OLAP Unmodified
CRIT Unmodified
TINY Unmodified
Caution

Advice — pending human review. Fact from the current Pigsty template projection: OLTP: PG9.0–19 Beta 3 unmodified; OLAP: PG9.0–19 Beta 3 unmodified; CRIT: PG9.0–19 Beta 3 unmodified; TINY: PG9.0–19 Beta 3 unmodified. No Pigsty-specific rationale is inferred from an absent override.

Common pitfalls

  • Trying to change read-only wal_segment_size with SET or a configuration file.
  • Assuming every cluster, database, or vendor build reports the same value.
  • Ignoring the value in file-format or feature-compatibility checks.
  • Treating reported metadata as a performance target instead of an environment fact.

min_wal_size · max_wal_size · wal_keep_size · checkpoint_timeout · checkpoint_completion_target · wal_keep_segments

References