diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml index def1e38ae6..96df3d81f1 100644 --- a/doc/src/sgml/ref/pg_combinebackup.sgml +++ b/doc/src/sgml/ref/pg_combinebackup.sgml @@ -137,6 +137,51 @@ PostgreSQL documentation + + + + + Use efficient file cloning (also known as reflinks on + some systems) instead of copying files to the new data directory, + which can result in near-instantaneous copying of the data files. + + + + If a backup manifest is not available or does not contain checksum of + the right type, file cloning will be used to copy the file, but the + file will be also read block-by-block for the checksum calculation. + + + + File cloning is only supported on some operating systems and file + systems. If it is selected but not supported, the + pg_combinebackup run will error. At present, + it is supported on Linux (kernel 4.5 or later) with Btrfs and XFS (on + file systems created with reflink support), and on macOS with APFS. + + + + + + + + + Use the copy_file_range system call for efficient + copying. On some file systems this gives results similar to + , sharing physical disk blocks, while on others + it may still copy blocks, but do so via an optimized path. At present, + it is supported on Linux and FreeBSD. + + + + If a backup manifest is not available or does not contain checksum of + the right type, copy_file_range will be used to + copy the file, but the file will be also read block-by-block for the + checksum calculation. + + + + @@ -189,51 +234,6 @@ PostgreSQL documentation - - - - - Use efficient file cloning (also known as reflinks on - some systems) instead of copying files to the new data directory, - which can result in near-instantaneous copying of the data files. - - - - If a backup manifest is not available or does not contain checksum of - the right type, file cloning will be used to copy the file, but the - file will be also read block-by-block for the checksum calculation. - - - - File cloning is only supported on some operating systems and file - systems. If it is selected but not supported, the - pg_combinebackup run will error. At present, - it is supported on Linux (kernel 4.5 or later) with Btrfs and XFS (on - file systems created with reflink support), and on macOS with APFS. - - - - - - - - - Use the copy_file_range system call for efficient - copying. On some file systems this gives results similar to - , sharing physical disk blocks, while on others - it may still copy blocks, but do so via an optimized path. At present, - it is supported on Linux and FreeBSD. - - - - If a backup manifest is not available or does not contain checksum of - the right type, copy_file_range will be used to - copy the file, but the file will be also read block-by-block for the - checksum calculation. - - - - diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c index 95da1b01bc..6ad17788bf 100644 --- a/src/bin/pg_combinebackup/pg_combinebackup.c +++ b/src/bin/pg_combinebackup/pg_combinebackup.c @@ -732,12 +732,12 @@ help(const char *progname) printf(_(" -o, --output output directory\n")); printf(_(" -T, --tablespace-mapping=OLDDIR=NEWDIR\n" " relocate tablespace in OLDDIR to NEWDIR\n")); + printf(_(" --clone clone (reflink) instead of copying files\n")); + printf(_(" --copy-file-range copy using copy_file_range() syscall\n")); printf(_(" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" " use algorithm for manifest checksums\n")); printf(_(" --no-manifest suppress generation of backup manifest\n")); printf(_(" --sync-method=METHOD set method for syncing files to disk\n")); - printf(_(" --clone clone (reflink) instead of copying files\n")); - printf(_(" --copy-file-range copy using copy_file_range() syscall\n")); printf(_(" -?, --help show this help, then exit\n")); printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);