libmdbx/src/man1/mdbx_copy.1

69 lines
1.8 KiB
Groff
Raw Normal View History

.\" Copyright 2015-2022 Leonid Yuriev <leo@yuriev.ru>.
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
2015-01-07 16:49:50 +03:00
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
mdbx: release v0.12.1 (Positive Proxima) The planned frontward release with new superior features on the day of 20 anniversary of [Positive Technologies](https://ptsecurty.com). New: ---- - The `Big Foot` feature which significantly reduces GC overhead for processing large lists of retired pages from huge transactions. Now _libmdbx_ avoid creating large chunks of PNLs (page number lists) which required a long sequences of free pages, aka large/overflow pages. Thus avoiding searching, allocating and storing such sequences inside GC. - Improved hot/online validation and checking of database pages both for more robustness and performance. - New solid and fast method to latch meta-pages called `Troika`. The minimum of memory barriers, reads, comparisons and conditional transitions are used. - New `MDBX_VALIDATION` environment options to extra validation of DB structure and pages content for carefully/safe handling damaged or untrusted DB. - Accelerated ×16/×8/×4 by AVX512/AVX2/SSE2/Neon implementations of search page sequences. - Added the `gcrtime_seconds16dot16` counter to the "Page Operation Statistics" that accumulates time spent for GC searching and reclaiming. - Copy-with-compactification now clears/zeroes unused gaps inside database pages. - The `C` and `C++` APIs has been extended and/or refined to simplify using `wchar_t` pathnames. On Windows the `mdbx_env_openW()`, `mdbx_env_get_pathW()`, `mdbx_env_copyW()`, `mdbx_env_open_for_recoveryW()` are available for now, but the `mdbx_env_get_path()` has been replaced in favor of `mdbx_env_get_pathW()`. - Added explicit error message for Buildroot's Microblaze toolchain maintainers. - Added `MDBX_MANAGE_BUILD_FLAGS` build options for CMake. - Speed-up internal `bsearch`/`lower_bound` implementation using branchless tactic, including workaround for CLANG x86 optimiser bug. - A lot internal refinement and micro-optimisations. - Internally counted volume of dirty pages (unused for now but for coming features). Fixes: ------ - Never use modern `__cxa_thread_atexit()` on Apple's OSes. - Don't check owner for finished transactions. - Fixed typo in `MDBX_EINVAL` which breaks MingGW builds with CLANG. 37 files changed, 7604 insertions(+), 7417 deletions(-) Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
2022-08-24 16:24:22 +03:00
.TH MDBX_COPY 1 "2022-08-24" "MDBX 0.12.1"
2015-01-07 16:49:50 +03:00
.SH NAME
2017-05-24 01:42:10 +03:00
mdbx_copy \- MDBX environment copy tool
2015-01-07 16:49:50 +03:00
.SH SYNOPSIS
.B mdbx_copy
2015-01-07 16:49:50 +03:00
[\c
.BR \-V ]
[\c
2019-12-05 01:43:57 +03:00
.BR \-q ]
[\c
2015-01-07 16:49:50 +03:00
.BR \-c ]
[\c
.BR \-n ]
2019-12-05 01:43:57 +03:00
.B src_path
2015-01-07 16:49:50 +03:00
[\c
2019-12-05 01:43:57 +03:00
.BR dest_path ]
2015-01-07 16:49:50 +03:00
.SH DESCRIPTION
The
.B mdbx_copy
2017-05-24 01:42:10 +03:00
utility copies an MDBX environment. The environment can
2015-01-07 16:49:50 +03:00
be copied regardless of whether it is currently in use.
No lockfile is created, since it gets recreated at need.
If
2019-12-05 01:43:57 +03:00
.I dest_path
2015-01-07 16:49:50 +03:00
is specified it must be the path of an empty directory
for storing the backup. Otherwise, the backup will be
written to stdout.
.SH OPTIONS
.TP
.BR \-V
Write the library version number to the standard output, and exit.
.TP
2019-12-05 01:43:57 +03:00
.BR \-q
Be quiet.
.TP
2015-01-07 16:49:50 +03:00
.BR \-c
Compact while copying. Only current data pages will be copied; freed
or unused pages will be omitted from the copy. This option will
slow down the backup process as it is more CPU-intensive.
Currently it fails if the environment has suffered a page leak.
2015-01-07 16:49:50 +03:00
.TP
.BR \-n
Open MDBX environment(s) which do not use subdirectories.
This is legacy option. For now MDBX handles this automatically.
2015-01-07 16:49:50 +03:00
.SH DIAGNOSTICS
Exit status is zero if no errors occur.
Errors result in a non-zero exit status and
a diagnostic message being written to standard error.
.SH CAVEATS
This utility can trigger significant file size growth if run
in parallel with write transactions, because pages which they
free during copying cannot be reused until the copy is done.
.SH "SEE ALSO"
.BR mdbx_dump (1),
.BR mdbx_chk (1),
.BR mdbx_stat (1),
.BR mdbx_load (1)
.BR mdbx_drop (1)
2015-01-07 16:49:50 +03:00
.SH AUTHOR
2019-12-05 01:43:57 +03:00
Howard Chu of Symas Corporation <http://www.symas.com>,
Leonid Yuriev <https://gitflic.ru/user/erthink>