monetdb - control a MonetDB Database Server instance
[monetdb_options] command [command_options] [command_args]
allows an administrator of the MonetDB Database Server to perform
various operations on the databases in the server. It relies on
(1) running in the background for all operations.
affect all commands and control the general behaviour of
- Supresses all standard progress messages, only writing output to stderr if
an error occurred.
- -h hostname
- Connect to hostname instead of attempting a connection over the
local UNIX socket. This allows monetdb to connect to a remote
monetdbd(1). The use of this option requires -P (see below).
- -p port
- Connects to the given portnumber instead of the default (50000). Requires
-h to be given as option too.
- -P passphrase
- Specifies the passphrase necessary to login to a remote
monetdbd(1). This option requires -h to be given as well. A bad
passphrase causes monetdb to fail to login, and hence fail to
perform any remote action.
- Show version, equal to monetdb version.
The commands for the monetdb
utility are create
. The commands facilitate adding, removing,
maintaining, starting and stopping a database inside the MonetDB Database
For all commands, database arguments can be glob-like expressions. This allows
to do wildcard matches. For details on the syntax, see EXPRESSIONS
- create [-m pattern] database [database ...]
- Initialises a new database in the MonetDB Database Server. A database
created with this command makes it available under its database name, but
not yet for use by clients, as the database is put into maintenance mode.
This allows the database administrator to perform initialisation steps
before releasing it to users. See also monetdb lock. The name of
the database must match the expression [A-Za-z0-9-_]+.
- -m pattern
- With the -m flag, instead of creating a database, a
multiplex-funnel is created. See section MULTIPLEX-FUNNEL in
monetdbd(1). The pattern argument is not fully the same as a
pattern for connecting or discovery. Each parallel target for the
multiplex-funnel is given as
username+password@pattern sequence, separated by
commas. Here the pattern is an ordinary pattern as would be used for
connecting to a database, and can hence also be just the name of a
- destroy [-f] database [database ...]
- Removes the given database, including all its data and logfiles. Once
destroy has completed, all data is lost. Be careful when using this
- By default, a confirmation question is asked, however the -f
option, when provided, suppresses this question and removal is executed
right away. Note that you cannot destroy a running database, bring it down
first using the stop command.
- lock database [database ...]
- Puts the given database in maintenance mode. A database under maintenance
can only be connected to by an administrator account (by default the
monetdb account). A database which is under maintenance is not
started automatically by monetdbd(1), the MonetDB Database Server,
when clients request for it. Use the release command to bring the
database back for normal usage. To start a database which is under
maintenance for administrator access, the start command can be
- release database [database ...]
- Brings back a database from maintenance mode. A released database is
available again for normal use by any client, and is started on demand.
Use the lock command to take a database under maintenance.
- status [-lc] [-s states] [database ...]
- Shows the state of the given database, or, when none given, all known
databases. Three modes control the level of detail in the displayed
output. By default a condensed one-line output per database format is
used. This output resembles pretty much the output of various
xxxstat programs, and is ideal for quickly gaining an overview of
the system state. The output is divided into four columns, name,
state, health and remarks. The state column contains
two characters that identify the state of the database, based on Booting
(starting up), Running, Stopped, Crashed and Locked (under maintenance).
This is followed by the uptime when running. The health column contains
the percentage of successful starts and stops, followed by the average
uptime. The remarks column can contain arbitrary information about the
database state, but usually contains the URI the database can be connected
- The -c flag shows the most used properties of a database. This
includes the state of the database (running, crashed, stopped), whether it
is under maintenance or not, the crash averages and uptime statistics. The
crash average is the number of times the database has crashed over the
last 1, 15 or 30 starts. The lower the average, the healthier the database
- Triggered by the -l flag, a long listing is used. This listing
spans many rows with on each row one property and its value separated by a
colon (`:'). The long listing includes all information that is
- The -s flag controls which databases are being shown, matching
their state. The required argument to this flag can be a combination of
any of the following characters. Note that the order in which they are put
also controls the order in which the databases are printed. b, r, s,
c and l are used to print a starting up (booting), started
(running), stopped, crashed and locked database respectively. The default
order which is used when the -s flag is absent, is
- start [-a] database [database ...]
- stop [-a] database [database ...]
- kill [-a] database [database ...]
- Starts, stops or kills the given database, or, when -a is
supplied, all known databases. The kill command immediately sends a
SIGKILL and should only be used as last resort for a database that doesn't
respond any more. Killing a database may result in (partial) data loss. It
is more common to use the stop command to stop a database. It will
first attempt to stop the database, waiting for mero_exittimeout
seconds and if that fails, kill the database. When using the start
command, monetdb(1) will output diagnostic messages if the
requested action failed. When encountering an error, one should always
consult the logfile of monetdbd(1) for more details. For the
kill command a diagnostic message indicating the database has
crashed is always emitted, due to the nature of that command. Note that in
combination with -a the return code of monetdb(1) indicates
failure if one of the databases had a failure, even though the operation
on other databases was successful.
- get <all | property[,property[,..]]> [database ...]
- Prints the requested properties, or all known properties, for the given
database. For each property its source and value are printed. Source
indicates where the current value comes from, e.g. the configuration file,
or a local override.
- set property=value database [database ...]
- Sets property to value for the given database. For a list of properties,
run monetdb get all. Most properties require the database to be
stopped when set.
- Defines if and how the database is being announced to other monetdbds or
not. If not set to yes or no the database is simply
announced or not. Using a string, called tag the database is shared
using that tag, allowing for more sophisticated usage. For information
about the tag format and use, see section REMOTE DATABASES in the
monetdbd(1) manpage. Note that this property can be set for a
running database, and that a change takes immediate effect in the
- Defines how many worker threads the server should use to perform main
processing. Normally, this number equals the number of available CPU cores
in the system. Reducing this number forces the server to use less
parallelism when executing queries, or none at all if set to
- Each server operates with a given optimiser pipeline. While the default
usually is the best setting, for some experimental uses the pipeline can
be changed. See the mserver5(1) manpage for available pipelines.
Changing this setting is discouraged at all times.
- Defines if the database has to be started in readonly mode. Updates are
rejected in this mode, and the server employs some read-only optimisations
that can lead to improved performance.
- Sets the maximum amount of clients that can connect to this database at
the same time. Setting this to a high value is discouraged. A
multiplex-funnel may be more performant, see MULTIPLEX-FUNNEL
- inherit property database [database ...]
- Like set, but unsets the database-local value, and reverts to inherit from
the default again.
- discover [expression]
- Returns a list of remote monetdbds and database URIs that were discovered
by monetdbd(1). All databases listed can be connected to via the
local MonetDB Database Server as if it were local databases using their
database name. The connection is redirected or proxied based on
configuration settings. If expression is given, only those
discovered databases are returned for which their URI matches the
expression. The expression syntax is described in the section
EXPRESSIONS. Next to database URIs the hostnames and ports for
monetdbds that allow to be controlled remotely can be found in the
discover list masked with an asterisk. These entries can easily be
filtered out using an expression (e.g. "mapi:monetdb:*") if
desired. The control entries come in handy when one wants to get an
overview of available monetdbds in e.g. a local cluster. Note that for
monetdbd to announce its control port, the mero_controlport setting
for that monetdbd must be enabled in the configuration file.
- help [command]
- Shows general help, or short help for a given command.
- Shows the version of the monetdb utility.
For various options, typically database names, expressions can be used. These
expressions are limited shell-globbing like, where the * in any position is
expanded to an arbitrary string. The * can occur multiple times in the
expression, allowing for more advanced matches. Note that the empty string
also matches the *, hence "de*mo" can return "demo" as
match. To match the literal '*' character, one has to escape it using a
backslash, e.g. "\*".
utility returns exit code 0
if it successfully
performed the requested command. An error caused by user input or database
state is indicated by exit code 1
. If an internal error in the utility
occurs, exit code 2
Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.