Wiki / Configuration Parameters
debug_io_direct
Ask the kernel to minimize caching effects for relation data and WAL files using O_DIRECT (most Unix-like systems), F_NOCACHE (macOS) or FILE_FLAG_NO_BUFFERING (Windows). May be set to an empty string (the default) to disable use of direct I/O, or a comma-separated list of operations that should use direct I/O. The valid options are data for main data files, wal for WAL files, and wal_init for WAL files when being initially allocated. This parameter can only be set at server start. Some operating systems and file systems do not support direct I/O, so non-default settings may be rejected at startup or cause errors. Currently this feature reduces performance, and is intended for developer testing only.
English manual coverage begins with PostgreSQL 7.4. Source history and runtime observations have their own recorded version boundaries.
Reading PG 18·Select a recorded version
- boot val
- Unknown
- category
- Developer Options
- context
- postmaster
- doc same as
- Unknown
- documented
- true
- enumvals
- Unknown
- extra desc
- An empty string disables direct I/O.
- lang
- en
- max val
- Unknown
- metadata version
- 18
- min val
- Unknown
- name
- debug_io_direct
- short desc
- Use direct I/O for file access.
- source
- pg-settings-source-snapshot
- unit
- Unknown
- vartype
- string
Definition PG 18
Ask the kernel to minimize caching effects for relation data and WAL
files using O_DIRECT (most Unix-like systems),
F_NOCACHE (macOS) or
FILE_FLAG_NO_BUFFERING (Windows).
May be set to an empty string (the default) to disable use of direct
I/O, or a comma-separated list of operations that should use direct I/O.
The valid options are data for
main data files, wal for WAL files, and
wal_init for WAL files when being initially
allocated.
This parameter can only be set at server start.
Some operating systems and file systems do not support direct I/O, so non-default settings may be rejected at startup or cause errors.
Currently this feature reduces performance, and is intended for developer testing only.
Compare versions
Complete source facts
doc html
<p>
Ask the kernel to minimize caching effects for relation data and WAL
files using <code class="literal">O_DIRECT</code> (most Unix-like systems),
<code class="literal">F_NOCACHE</code> (macOS) or
<code class="literal">FILE_FLAG_NO_BUFFERING</code> (Windows).
</p><p>
May be set to an empty string (the default) to disable use of direct
I/O, or a comma-separated list of operations that should use direct I/O.
The valid options are <code class="literal">data</code> for
main data files, <code class="literal">wal</code> for WAL files, and
<code class="literal">wal_init</code> for WAL files when being initially
allocated.
This parameter can only be set at server start.
</p><p>
Some operating systems and file systems do not support direct I/O, so
non-default settings may be rejected at startup or cause errors.
</p><p>
Currently this feature reduces performance, and is intended for
developer testing only.
</p>documentation revision
{"inputs":[{"file":"runtime-config-developer.html","kind":"same-version-reviewed-manual","locale":"en","sha256":"a3f6a107ed6ba4edaf6df03e52f4a469bd09350d545e4ff419e62844025ec1cf","version":"18.7"},{"file":"runtime-config-developer.html","kind":"same-version-reviewed-manual","locale":"zh-Hans","sha256":"e7e22aa5738a1d376b84af1adca796c5e14746266733f925eb50c3ef86a50655","version":"18.7"}],"release":"18.7","runtime_remeasured":false,"source_revision":"pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552"}Source references
Full definition and evidence JSON
Definition sources
center · PostgreSQL 18 · wiki-repair-20261023:c186c9df03ff7a7ce954189068d33072989e6abbf6f09e62924c12154a77b254
Text language: en · wiki-repair-20261023:c186c9df03ff7a7ce954189068d33072989e6abbf6f09e62924c12154a77b254