Implement database schema versioning.
[sliver-openvswitch.git] / ovsdb / ovsdb-client.1.in
index 64a0811..725211d 100644 (file)
@@ -6,7 +6,10 @@
 ..
 .\" -*- nroff -*-
 .TH ovsdb\-client 1 "November 2009" "Open vSwitch" "Open vSwitch Manual"
+.\" This program's name:
 .ds PN ovsdb\-client
+.\" SSL peer program's name:
+.ds SN ovsdb\-server
 .
 .SH NAME
 ovsdb\-client \- command-line interface to \fBovsdb-server\fR(1)
@@ -14,23 +17,25 @@ ovsdb\-client \- command-line interface to \fBovsdb-server\fR(1)
 .SH SYNOPSIS
 \fBovsdb\-client \fR[\fIoptions\fR] \fBlist\-dbs\fI server\fR
 .br
-\fBovsdb\-client \fR[\fIoptions\fR] \fBget-schema\fI server database\fR
+\fBovsdb\-client \fR[\fIoptions\fR] \fBget\-schema\fI server database\fR
 .br
-\fBovsdb\-client \fR[\fIoptions\fR] \fBlist-tables\fI server database\fR
+\fBovsdb\-client \fR[\fIoptions\fR] \fBget\-schema\-version\fI server database\fR
 .br
-\fBovsdb\-client \fR[\fIoptions\fR] \fBlist-columns\fI server database \fR[\fItable\fR]
+\fBovsdb\-client \fR[\fIoptions\fR] \fBlist\-tables\fI server database\fR
+.br
+\fBovsdb\-client \fR[\fIoptions\fR] \fBlist\-columns\fI server database \fR[\fItable\fR]
 .br
 \fBovsdb\-client \fR[\fIoptions\fR] \fBtransact\fI server transaction\fR
 .br
+\fBovsdb\-client \fR[\fIoptions\fR] \fBdump\fI server database\fR
+.br
 \fBovsdb\-client \fR[\fIoptions\fR] \fBmonitor\fI server database table\fR
-[\fIcolumn\fR[\fB,\fIcolumn\fR]...]
-[\fIselect\fR[\fB,\fIselect\fR]...]
+[\fIcolumn\fR[\fB,\fIcolumn\fR]...]...
 .br
 \fBovsdb\-client help\fR
 .IP "Output formatting options:"
-[\fB--format=\fIformat\fR]
-[\fB--wide\fR]
-[\fB--no-heading\fR]
+[\fB\-\-format=\fIformat\fR]
+[\fB\-\-no\-heading\fR]
 .so lib/daemon-syn.man
 .so lib/vlog-syn.man
 .so lib/ssl-syn.man
@@ -49,23 +54,36 @@ the following forms:
 .
 .SS "Commands"
 The following commands are implemented:
-.IP "\fBlist-dbs\fI server\fR"
+.IP "\fBlist\-dbs\fI server\fR"
 Connects to \fIserver\fR, retrieves the list of known databases, and
 prints them one per line.  These database names are the ones that may
 be used for \fIdatabase\fR in the following commands.
 .
-.IP "\fBget-schema\fI server database\fR"
+.IP "\fBget\-schema\fI server database\fR"
 Connects to \fIserver\fR, retrieves the schema for \fIdatabase\fR, and
 prints it in JSON format.
 .
-.IP "\fBlist-tables\fI server database\fR"
+.IP "\fBget\-schema\-version\fI server database\fR"
 Connects to \fIserver\fR, retrieves the schema for \fIdatabase\fR, and
-prints a table listing the names and comments (if any) on each table
+prints its version number on stdout.  A schema version number has the form
+\fIx\fB.\fIy\fB.\fIz\fR.  See \fBovs\-vswitchd.conf.db\fR(5) for
+details.
+.IP
+Schema version numbers and Open vSwitch version numbers are
+independent.
+.IP
+If \fIdatabase\fR was created before schema versioning was introduced,
+then it will not have a version number and this command will print a
+blank line.
+.
+.IP "\fBlist\-tables\fI server database\fR"
+Connects to \fIserver\fR, retrieves the schema for \fIdatabase\fR, and
+prints a table listing the name of each table
 within the database.
 .
-.IP "\fBlist-columns\fI server database \fR[\fItable\fR]"
+.IP "\fBlist\-columns\fI server database \fR[\fItable\fR]"
 Connects to \fIserver\fR, retrieves the schema for \fIdatabase\fR, and
-prints a table listing the names, type, and comment (if any) on each
+prints a table listing the name and type of each
 column.  If \fItable\fR is specified, only columns in that table are
 listed; otherwise, the tables include columns in all tables.
 .
@@ -74,24 +92,34 @@ Connects to \fIserver\fR, sends it the specified \fItransaction\fR,
 which must be a JSON array containing one or more valid OVSDB
 operations, and prints the received reply on stdout.
 .
-.IP "\fBmonitor\fI server database table\fR [\fIcolumn\fR[\fB,\fIcolumn\fR]...] [\fIselect\fR[\fB,\fIselect\fR]...]"
+.IP "\fBdump\fI server database\fR"
+Connects to \fIserver\fR, retrieves all of the data in \fIdatabase\fR,
+and prints it on stdout as a series of tables.
+.
+.IP "\fBmonitor\fI server database table\fR [\fIcolumn\fR[\fB,\fIcolumn\fR]...]..."
 Connects to \fIserver\fR and monitors the contents of \fItable\fR in
 \fIdatabase\fR.  By default, the initial contents of \fItable\fR are
 printed, followed by each change as it occurs.  If at least one
-\fIcolumn\fR is specified, only those columns are monitored.  If at
-least one \fIselect\fR is specified, they are interpreted as follows:
+\fIcolumn\fR is specified, only those columns are monitored.  The
+following \fIcolumn\fR names have special meanings:
 .RS
-.IP "\fBinitial\fR"
-Print the initial contents of the specified columns.
-.IP "\fBinsert\fR"
-Print newly inserted rows.
-.IP "\fBdelete\fR"
-Print deleted rows.
-.IP "\fBmodify\fR"
-Print old and new values of modified rows.
+.IP "\fB!initial\fR"
+Do not print the initial contents of the specified columns.
+.IP "\fB!insert\fR"
+Do not print newly inserted rows.
+.IP "\fB!delete\fR"
+Do not print deleted rows.
+.IP "\fB!modify\fR"
+Do not print modifications to existing rows.
 .RE
 .IP
-If \fB--detach\fR is used with \fBmonitor\fR, then \fBovsdb\-client\fR
+Multiple [\fIcolumn\fR[\fB,\fIcolumn\fR]...] groups may be specified
+as separate arguments, e.g. to apply different reporting parameters to
+each group.  Whether multiple groups or only a single group is
+specified, any given column may only be mentioned once on the command
+line.
+.IP
+If \fB\-\-detach\fR is used with \fBmonitor\fR, then \fBovsdb\-client\fR
 detaches after it has successfully received and printed the initial
 contents of \fItable\fR.
 .SH OPTIONS
@@ -99,9 +127,9 @@ contents of \fItable\fR.
 Much of the output from \fBovsdb\-client\fR is in the form of tables.
 The following options controlling output formatting:
 .
-.IP "\fB-f \fIformat\fR"
-.IQ "\fB--format=\fIformat\fR"
-Sets the basic type of output formatting.  The following types of
+.IP "\fB\-f \fIformat\fR"
+.IQ "\fB\-\-format=\fIformat\fR"
+Sets the type of table formatting.  The following types of
 \fIformat\fR are available:
 .RS
 .IP "\fBtable\fR (default)"
@@ -110,18 +138,46 @@ Text-based tables with aligned columns.
 HTML tables.
 .IP "\fBcvs\fR"
 Comma-separated values as defined in RFC 4180.
+.IP "\fBjson\fR"
+JSON format as defined in RFC 4627.  The output is a sequence of JSON
+objects, each of which corresponds to one table.  Each JSON object has
+the following members with the noted values:
+.RS
+.IP "\fBcaption\fR"
+The table's caption.  This member is omitted if the table has no
+caption.
+.IP "\fBheadings\fR"
+An array with one element per table column.  Each array element is a
+string giving the corresponding column's heading.
+.IP "\fBdata\fR"
+An array with one element per table row.  Each element is also an
+array with one element per table column.  The elements of this
+second-level array are the cells that constitute the table.  Cells
+that represent OVSDB data or data types are expressed in the format
+described in the OVSDB specification; other cells are simply expressed
+as text strings.
+.RE
 .RE
 .
-.IP "\fB--wide\fR"
-In \fBtable\fR output (the default), when standard output is a
-terminal device, by default lines are truncated at a width of 79
-characters.  Specifying this option prevents line truncation.
+.IP "\fB\-d \fIformat\fR"
+.IP "\fB\-\-data=\fIformat\fR"
+Sets the formatting for cells within output tables.  The following
+types of \fIformat\fR are available:
+.RS
+.IP "\fBstring\fR (default)"
+The simple format described in \fBovs\-vsctl\fR(8).
+.IP "\fBjson\fR"
+JSON.
+.RE
+.IP
+The \fBjson\fR output format always outputs cells in JSON format,
+ignoring this option.
 .
-.IP "\fB--no-heading\fR"
+.IP "\fB\-\-no\-heading\fR"
 This option suppresses the heading row that otherwise appears in the
 first row of table output.
 .
-.IP "\fB--pretty\fR"
+.IP "\fB\-\-pretty\fR"
 By default, JSON in output is printed as compactly as possible.  This
 option causes JSON in output to be printed in a more readable
 fashion.  Members of objects and elements of arrays are printed one
@@ -136,6 +192,7 @@ other command, they have no effect.
 .so lib/daemon.man
 .SS "Logging Options"
 .so lib/vlog.man
+.SS "Public Key Infrastructure Options"
 .so lib/ssl.man
 .so lib/ssl-bootstrap.man
 .SS "Other Options"