---
name: "config-gfarm-update"
section: "8"
platform: "linux"
package: "gfmd"
version: "2.7.20+dfsg-1.2+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/config-gfarm-update"
---

# config-gfarm-update(8)

upgrades/updates metadata server of Gfarm

## NAME

config-gfarm-update - upgrades/updates metadata server of Gfarm

## SYNOPSIS

**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)](/config-gfarm/8.md), [**gfmd**(8)](/gfmd/8.md), [**psql**(1)](/psql/1.md)
