Reports the actual WAL logging level currently in effect in the system.
At a glance
| Property | Value |
|---|---|
| Parameter | effective_wal_level |
| Category | Preset Options |
| Default | (see documentation) |
| Value type | enum |
| Change scope | Per-session (SET) |
| Available in | PostgreSQL 19 (added in 19) |
What it does
Reports the actual WAL logging level currently in effect in the system. This parameter shares the same set of values as wal_level, but reflects the operational WAL level rather than the configured setting. For descriptions of possible values, refer to the wal_level parameter documentation.
The effective WAL level can differ from the configured wal_level in certain situations. For example, when wal_level is set to replica and the system has one or more logical replication slots, effective_wal_level will show logical to indicate that the system is maintaining WAL records at logical level equivalent.
(Description quoted from the official PostgreSQL documentation.)
How to apply a change
Can be set per session with SET, per role/database with ALTER ROLE/DATABASE ... SET, or globally in postgresql.conf.
Inspect the current value and source with SHOW effective_wal_level; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'effective_wal_level';.
Tuning guidance
This is a preset, read-only parameter: it reports a value fixed when PostgreSQL was built or the cluster was initialized, and cannot be tuned at runtime. Read it to verify the server’s build or cluster configuration (for example when matching a replica or debugging a compatibility issue); there is no setting to adjust.