Rekall can dump databases to a set of XML formatted files, and load a database from such a set of files. These are accessed by selecting a database in the main database window under the servers tab, then using the entries under the View menu.
Please note that Rekall can only dump and load those parts of the database that it knows about. Currently, this effectively means just tables and the data they contain (which can include form, etc., definitions of these are stored in the database). This may be extended in due course, but you should not expect to be able to dump and load arbitrary database structures. In addition, the data is stored in XML format and, internally, Rekall uses the copier mechanism. This means that loading large tables is not very quick!
When using either the dumper or the loader, Rekall will prompt for a directory. Tables definitions and data will be written to, and loaded from, the specified directory. Files are named with the object name, with an extension as listed below:
Table definition | tabledef |
View definition | viewdef |
Sequence definition | seqdef |
Table data | tabledata |
Please note that the dumper and loader functions are intended to allow you to dump a database that was created with Rekall, and to install that database on another machine or system. It should not be used as a means to make database backups, and, repeating from above, it cannot handle abitrary database specific structures (such as stored procedures) that Rekall knows nothing about.
The database dumper dialog is shown below. This screenshot is taken from a PostgreSQL database that contains sequences and views as well as tables.
You can either dump all objects, by checking Dump all objects, or you can select individual objects. Also, you can dump either object definitions or object data, or both. However note that there is no data associated with a view, nor with a sequence (strictly, a sequence does have data - such as the current value - but it is inextricably bound up with the definition).
Rekall will check whether the selected directory contains any dumper files, and show a warning message if so.
The database loader is shown below. Again, this is taken from a PostgreSQL database that contains tables, views and sequences.
As for the dumper, you can choose to load all, or selected objects, and you can load either definitions or data or both (but again note that views have no data, and sequences are entirely defined by their definition).
The dialog displays the object type, whether it already exists in the database, and whether there are associated definition and data files. You can choose whether to replace existing objects with their saved definitions, or whether to leave them unchanged and ignore the definition files.