mdbx_copy - MDBX environment copy tool
mdbx_copy [-V] [-q] [-c] [-d]
[-p] [-n] src_path [dest_path]
The mdbx_copy utility copies an MDBX environment. The
environment can be copied regardless of whether it is currently in use. No
lockfile is created, since it gets recreated at need.
If dest_path is specified it must be the path of an empty
directory for storing the backup. Otherwise, the backup will be written to
stdout.
- -V
- Write the library version number to the standard output, and exit.
- -q
- Be quiet.
- -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.
- -d
- Alters geometry to enforce the copy to be a dynamic size DB, which could
be growth and shrink by reasonable steps on the fly.
- -p
- Use read transaction parking/ousting during copying MVCC-snapshot. This
allows the writing transaction to oust the read transaction used to copy
the database if copying takes so long that it will interfere with the
recycling old MVCC snapshots and may lead to an overflow of the database.
However, if the reading transaction is ousted the copy will be aborted
until successful completion. Thus, this option allows copy the database
without interfering with write transactions and a threat of database
overflow, but at the cost that copying will be aborted to prevent such
conditions.
- -u
- Warms up the DB before copying via notifying OS kernel of subsequent
access to the database pages.
- -U
- Warms up the DB before copying, notifying the OS kernel of subsequent
access to the database pages, then forcibly loads ones by sequential
access and tries to lock database pages in memory.
- -n
- Open MDBX environment(s) which do not use subdirectories. This is legacy
option. For now MDBX handles this automatically.
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.
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.
mdbx_dump(1), mdbx_chk(1), mdbx_stat(1),
mdbx_load(1) mdbx_drop(1)
Howard Chu of Symas Corporation <http://www.symas.com>,
Leonid Yuriev <https://gitflic.ru/user/erthink>