summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorThomas Munro2024-03-05 22:39:50 +0000
committerThomas Munro2024-03-05 23:01:01 +0000
commitd93627bcbe5001750e7611f0e637200e2d81dcff (patch)
tree3ee757589d5c5f9eb3d40c0dc788133cd5614343 /src/include
parent2bce0ad67f93af6d1889ec611a8f618245291e3f (diff)
Add --copy-file-range option to pg_upgrade.
The copy_file_range() system call is available on at least Linux and FreeBSD, and asks the kernel to use efficient ways to copy ranges of a file. Options available to the kernel include sharing block ranges (similar to --clone mode), and pushing down block copies to the storage layer. For automated testing, see PG_TEST_PG_UPGRADE_MODE. (Perhaps in a later commit we could consider setting this mode for one of the CI targets.) Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://postgr.es/m/CA%2BhUKGKe7Hb0-UNih8VD5UNZy5-ojxFb3Pr3xSBBL8qj2M2%3DdQ%40mail.gmail.com
Diffstat (limited to 'src/include')
-rw-r--r--src/include/pg_config.h.in3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index 07e73567dc7..591e1ca3df6 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -78,6 +78,9 @@
/* Define to 1 if you have the <copyfile.h> header file. */
#undef HAVE_COPYFILE_H
+/* Define to 1 if you have the `copy_file_range' function. */
+#undef HAVE_COPY_FILE_RANGE
+
/* Define to 1 if you have the <crtdefs.h> header file. */
#undef HAVE_CRTDEFS_H