[MonetDB-users] "merovingian" usage

Fabian Groffen Fabian.Groffen at cwi.nl
Tue Oct 30 20:38:53 CET 2007

On 30-10-2007 15:07:16 -0400, Venks wrote:
> Recent installation of MonetDB showed the following text at the end of
> the installation.
> ====================================
> You can start using MonetDB/SQL by starting
>  /root/countdb/bin/merovingian
> in the background.  Read the merovingian(1), monetdb(1) and
> mclient(1) manpages to learn how to create a database and
> afterwards connect to it.
> ====================================
> Is "merovingian" ready for usage?

This release includes it for the first time.  It was, however, included
and referred to by the script because it should be working well as far
as we have tested it.

> When I type "merovingian" I am getting the following error:
> ===============================================================================
> unable to create .merovingian_lock file in
> /root/countdb/var/MonetDB5/dbfarm: No such file or directory
> ===============================================================================
> That's because there is no MonetDB5 directory yet. This may be of
> importance to us as I need to do the following:

Indeed there is a slight chicken/egg problem here, that needs polishing.
merovingian(1) is not the tool that should create directory structures,
monetdb(1) does that.  However that merovingian(1) wants to place its
lock in the dbfarm is because it needs to assure it is the only one
working with it.  I think as workaround the dbfarm directory should be
created as part of the installation, like the var/log directory
is created as well.

> - Run MonetDB in background
> - Create the database directory, LOG, CheckPoint and any other files
> related to any database in a user specified directory.
> Right now I am using mserver5 executable in a script to start MonetDB
> in the background. This script was provided by you (Fabian)
> Please let me know if I need to start using "merovingian" for my needs.

merovingian(1) is capable of:
- (re)starting a database (e.g. after a crash or cold start)
- stop a database
- put a database into maintenance mode
- reinstantiate a database from maintenance mode
- stop all used databases when merovingian stops.
- keep a log of activities by merovingian regarding databases

The monetdb(1) client utility makes merovingian perform certain tasks.

Making snapshots of a database is /not/ supported by monetdb(1) as
tool, however, it can be used to make a snapshot of any flavour you
like, e.g.:

% monetdb lock mydatabase
% mclient --language=sql --dump --database=mydatabase \
          --user=administrator --password=very-sekrit > /var/tmp/myfile
% monetdb release mydatabase


% monetdb lock mydatabase
% monetdb stop mydatabase
(check/wait for it to be shut down)
% monetdb status mydatabase | grep stopped
% rsync -a /path/to/var/MonetDB5/* /my/backup/var/MonetDB5/
% monetdb start mydatabase
% monetdb release mydatabase

(But I admit, I just wrote these down, didn't test them, so don't
blindly copy 'n' paste ;) )

More information about the users-list mailing list