NAME¶
db_dump185 - dump DB 1.85 legacy database files
SYNOPSIS¶
db_dump185 [
-p] [
-f output] db_file
DESCRIPTION¶
The
db_dump185 utility reads the version 1.85 database file
db_file and writes it to the standard output using a portable flat-text
format understood by the
db_load(1) utility. The argument
db_file must be a file produced using the version 1.85
DB
library functions.
The options are as follows:
- -f
- Write to the specified file instead of to the standard output.
- -p
- If characters in either the key or data items are printing characters (as
defined by isprint(3)), use printing characters in file to
represent them. This option permits users to use standard text editors to
modify the contents of databases.
- Note, different systems may have different notions as to what characters
are ``printing'', and databases dumped in this manner may be less portable
to external systems.
Dumping and reloading hash databases that use user-defined hash functions will
result in new databases that use the default hash function. While using the
default hash function may not be optimal for the new database, it will
continue to work correctly.
Dumping and reloading btree databases that use user-defined prefix or comparison
functions will result in new databases that use the default prefix and
comparison functions. In this case, it is quite likely that the database will
be damaged beyond repair permitting neither record storage or retrieval.
The only available workaround for either case is to modify the sources for the
db_load(1) utility to load the database using the correct hash, prefix
and comparison functions.
The
db_dump utility exits 0 on success, and >0 if an error occurs.
There are two output formats used by
db_dump.
In both output formats, the first few lines of the output contain header
information describing the underlying access method, filesystem page size and
other bookkeeping information. This information is output in ``name=value''
pairs, where ``name'' may be any of the keywords listed in the
db_load(1) manual page, and ``value'' will be its value. While this
header information can be edited before the database is reloaded, there is
rarely any reason to do so, as all of this information can be overridden by
command-line arguments to
db_load.
Following the header information are the key/data pairs from the database. If
the database being dumped is of type
btree or
hash, the output
will be paired lines of text, where the first line of the pair is the key
item, and the second line of the pair is its corresponding data item. If the
database being dumped is of type
recno, the output will be lines of
text, where each line is a new data item for the database.
If the
-p option was specified, each output line will consist of single
characters representing any characters from the database that were
``printing'', and backslash (``\'') escaped characters for any that were not.
Backslash characters appearing in the output mean one of two things: if the
backslash character precedes another backslash character, it means that a
literal backslash character occurred in the key or data item. If the backslash
character precedes any other character, the next two characters should be
interpreted as hexadecimal specification of a single character, e.g., ``\0a''
is a newline character in the ASCII character set.
If the
-p option was not specified, each output line will consist of
paired hexadecimal values, e.g., the line ``726f6f74'' is the string ``root''
in the ASCII character set.
In both output formats, a single newline character ends both the key and data
items.
SEE ALSO¶
isprint(3)
The DB library is a family of groups of functions that provides a modular
programming interface to transactions and record-oriented file access. The
library includes support for transactions, locking, logging and file page
caching, as well as various indexed access methods. Many of the functional
groups (e.g., the file page caching functions) are useful independent of the
other DB functions, although some functional groups are explicitly based on
other functional groups (e.g., transactions and logging).
db_archive(1),
db_checkpoint(1),
db_deadlock(1),
db_dump(1),
db_load(1),
db_recover(1),
db_stat(1).
(Note that on Debian systems, some of these manpages and programs have been
renamed to things like
db4.3_stat to distinguish between the multiple
DB versions.)