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
This commit is contained in:
parent
2bce0ad67f
commit
d93627bcbe
11 changed files with 120 additions and 4 deletions
|
@ -2420,6 +2420,7 @@ func_checks = [
|
|||
['backtrace_symbols', {'dependencies': [execinfo_dep]}],
|
||||
['clock_gettime', {'dependencies': [rt_dep], 'define': false}],
|
||||
['copyfile'],
|
||||
['copy_file_range'],
|
||||
# gcc/clang's sanitizer helper library provides dlopen but not dlsym, thus
|
||||
# when enabling asan the dlopen check doesn't notice that -ldl is actually
|
||||
# required. Just checking for dlsym() ought to suffice.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue