diff options
| author | Thomas Munro | 2024-03-05 22:39:50 +0000 |
|---|---|---|
| committer | Thomas Munro | 2024-03-05 23:01:01 +0000 |
| commit | d93627bcbe5001750e7611f0e637200e2d81dcff (patch) | |
| tree | 3ee757589d5c5f9eb3d40c0dc788133cd5614343 /src/include | |
| parent | 2bce0ad67f93af6d1889ec611a8f618245291e3f (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.in | 3 |
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 |
