2 Feb 2015
config-gfarm-update 8 Gfarm
config-gfarm-update upgrades/updates metadata server of Gfarm
`config-gfarm-update` options `config-gfarm-update` --update options

## DESCRIPTION

`config-gfarm-update` upgrades/updates the backend database of a metadata server. Unless the metadata server is configured as the private mode, the root privilege is required to run this command. It reads the configuration file for `gfmd` (`gfmd.conf`), in order to get information for accessing the backend database.

`config-gfarm-update` can enable the following features of the backend database:

- XML Path Language (XPath) support [-X]

- Metadata replication among metadata servers [-r]

- Checksum calculation [-d]

Whether the backend database supports those features or not is initially configured by `config-gfarm`. If you would like to enable a feature after the configuration, run `config-gfarm-update --update` with an option surrounded by [ ] in the list above.

`config-gfarm-update` is also used for upgrading the backend database. Sometimes Gfarm contains incompatible changes against older releases. With `--update` option, `config-gfarm-update` edits table schema and/or data in the database for upgrading, if needed.

When you update/upgrade the metadata server, you must stop `gfmd` beforehand. If there are some metadata servers in a file system, run `config-gfarm-update` on every metadata servers. After the update/upgrade, it starts a metadata server on the host.

Like `config-gfarm`, also `config-gfarm-update` has `-t` option which shows values of all configurable parameters, like this:

    $ config-gfarm-update -t
    prefix [--prefix]:
    metadata backend    [-b]: postgresql
    metadata directory  [-l]: /var/gfarm-pgsql
    postgresql admin user        [-U]: postgres
    postgresql admin password    [-W]: (auto generated)
    postgresql user              [-u]: gfarm
    postgresql password          [-w]: (auto generated)
    postgresql prefix            [-P]: /usr
    postgresql version           [-V]: 8.4
    postgresql XML supported     [-X]: no
    postgresql data checksum support
                                 [-E]: no
    portmaster port              [-p]: 10602
    metadata replication         [-r]: yes
    metadata journal directory   [-j]: /var/gfarm-metadata/journal
    digest type                  [-d]: md5

It is recommended to execute `config-gfarm-update -t` before update/upgrade.

In case that the backend database is PostgreSQL and `config-gfarm-update` is executed without `--update` option, `psql` command is invoked. `psql` is a front-end terminal to the backend database. It enables you to type in queries interactively. This is useful since a connection from `psql` to the PostgreSQL server is established automatically.

## OPTIONS

`--prefix` path

  If this option is given, `config-gfarm-update` reads `PREFIX/etc/gfmd.conf` as the configuration file of `gfmd`. By default, it reads `%%SYSCONFDIR%%/etc/gfmd.conf`.

`-P` prefix

  Specify an installation prefix of the backend database (e.g. /usr/local). When `config-gfarm-update` executes a PostgreSQL command such as `psql`, it assumes the command is installed under the given prefix. If this option is omitted, `config-gfarm-update` searches directories listed in the environment variable `PATH` for the commands.

`-l` path

  Specify a path to the directory where the backend database puts files to store metadata of Gfarm.

  If the backend database is PostgreSQL, the directory is commonly called PGDATA directory. The default is `PREFIX/var/gfarm-pgsql` where PREFIX is a prefix given by `--prefix` option.

`-f` file

  When `config-gfarm-update` invokes `psql` as a front-end terminal to PostgreSQL, `config-gfarm-update` passes `-f` option and the given file argument to `psql`. `psql` interprets commands written in the file, instead of reading commands interactively. This option is ignored when also `--update` option is specified.

`-o` option

  When `config-gfarm-update` invokes `psql` as a front-end terminal to PostgreSQL, `config-gfarm-update` also passes the given option to `psql`. This option is ignored when also `--update` option is specified.

`-j` file

  Specify a path to the directory where `gfmd` puts journal files. The default value is `PREFIX/var/gfarm-metadata/journal` where PREFIX is a prefix given by `--prefix` option.

`--help`

  Show usage, then exit.

`-t`

  Show values of configurable parameters in human readable format, then exit immediately.

`-N`

  Do not start `gfmd` after update/upgrade. This option takes effect only when also `--update` option is specified.

`-r`

  Enable metadata replication among metadata servers. This option takes effect only when also `--update` option is specified.

`-d`

  Enable checksum calculation and specify the digest type of the checksum. The digest_type argument is a lower-case name which is supported by the OpenSSL library on the host, such as "md5".

`-X`

  Enable XML Path Language (XPath) support for querying XML extended attributes. This option takes effect only when also `--update` option is specified.

## FILES

`%%SYSCONFDIR%%/gfmd.conf`

  configuration file for `gfmd`

## SEE ALSO

config-gfarm 8, gfmd 8, psql 1