2022-01-15 18:50:22 +03:00
|
|
|
.\" Copyright 2015-2022 Leonid Yuriev <leo@yuriev.ru>.
|
2017-05-24 01:07:15 +03:00
|
|
|
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
2017-01-01 14:56:00 +03:00
|
|
|
.\" 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
|
2017-02-21 20:16:54 +03:00
|
|
|
.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
|
2017-02-21 20:16:54 +03:00
|
|
|
.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.
|
2016-06-25 07:55:34 +02:00
|
|
|
Currently it fails if the environment has suffered a page leak.
|
2015-01-07 16:49:50 +03:00
|
|
|
.TP
|
|
|
|
.BR \-n
|
2019-09-10 16:08:21 +03:00
|
|
|
Open MDBX environment(s) which do not use subdirectories.
|
2020-09-28 15:37:47 +03:00
|
|
|
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"
|
2019-09-10 16:08:21 +03:00
|
|
|
.BR mdbx_dump (1),
|
|
|
|
.BR mdbx_chk (1),
|
|
|
|
.BR mdbx_stat (1),
|
|
|
|
.BR mdbx_load (1)
|
2021-03-10 14:43:49 +03:00
|
|
|
.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>,
|
2022-04-20 06:42:16 +03:00
|
|
|
Leonid Yuriev <https://gitflic.ru/user/erthink>
|