diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 909a3f28c79..2073bafa1f1 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -11160,6 +11160,38 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
+
+ debug_io_direct (string)
+
+ debug_io_direct configuration parameter
+
+
+
+
+ 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.
+
+
+ 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.
+
+
+
+
debug_parallel_query (enum)
@@ -11221,38 +11253,6 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
-
- io_direct (string)
-
- io_direct configuration parameter
-
-
-
-
- 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.
-
-
- 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.
-
-
-
-
post_auth_delay (integer)
diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c
index 4f86d44d6e3..173476789c7 100644
--- a/src/backend/storage/file/fd.c
+++ b/src/backend/storage/file/fd.c
@@ -3844,7 +3844,7 @@ check_io_direct(char **newval, void **extra, GucSource source)
#if PG_O_DIRECT == 0
if (strcmp(*newval, "") != 0)
{
- GUC_check_errdetail("io_direct is not supported on this platform.");
+ GUC_check_errdetail("debug_io_direct is not supported on this platform.");
result = false;
}
flags = 0;
@@ -3859,7 +3859,7 @@ check_io_direct(char **newval, void **extra, GucSource source)
if (!SplitGUCList(rawstring, ',', &elemlist))
{
GUC_check_errdetail("invalid list syntax in parameter \"%s\"",
- "io_direct");
+ "debug_io_direct");
pfree(rawstring);
list_free(elemlist);
return false;
@@ -3891,14 +3891,14 @@ check_io_direct(char **newval, void **extra, GucSource source)
#if XLOG_BLCKSZ < PG_IO_ALIGN_SIZE
if (result && (flags & (IO_DIRECT_WAL | IO_DIRECT_WAL_INIT)))
{
- GUC_check_errdetail("io_direct is not supported for WAL because XLOG_BLCKSZ is too small");
+ GUC_check_errdetail("debug_io_direct is not supported for WAL because XLOG_BLCKSZ is too small");
result = false;
}
#endif
#if BLCKSZ < PG_IO_ALIGN_SIZE
if (result && (flags & IO_DIRECT_DATA))
{
- GUC_check_errdetail("io_direct is not supported for data because BLCKSZ is too small");
+ GUC_check_errdetail("debug_io_direct is not supported for data because BLCKSZ is too small");
result = false;
}
#endif
diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c
index 5f90aecd478..efd59a47cf7 100644
--- a/src/backend/utils/misc/guc_tables.c
+++ b/src/backend/utils/misc/guc_tables.c
@@ -4568,7 +4568,7 @@ struct config_string ConfigureNamesString[] =
},
{
- {"io_direct", PGC_POSTMASTER, DEVELOPER_OPTIONS,
+ {"debug_io_direct", PGC_POSTMASTER, DEVELOPER_OPTIONS,
gettext_noop("Use direct I/O for file access."),
NULL,
GUC_LIST_INPUT | GUC_NOT_IN_SAMPLE
diff --git a/src/test/modules/test_misc/t/004_io_direct.pl b/src/test/modules/test_misc/t/004_io_direct.pl
index b8814bb6402..dddcfb1aa96 100644
--- a/src/test/modules/test_misc/t/004_io_direct.pl
+++ b/src/test/modules/test_misc/t/004_io_direct.pl
@@ -40,7 +40,7 @@ my $node = PostgreSQL::Test::Cluster->new('main');
$node->init;
$node->append_conf(
'postgresql.conf', qq{
-io_direct = 'data,wal,wal_init'
+debug_io_direct = 'data,wal,wal_init'
shared_buffers = '256kB' # tiny to force I/O
wal_level = replica # minimal runs out of shared_buffers when set so tiny
});