SYNAPSE_PORT_DB(1)

NAME
synapse_port_db - A script to port an existing synapse SQLite database to a new PostgreSQL database.

SYNOPSIS
synapse_port_db [-v] --sqlite-database=dbfile --postgres-config=yamlconfig [--curses] [--batch-size=batch-size]

DESCRIPTION
synapse_port_db ports an existing synapse SQLite database to a new PostgreSQL database.

SQLite database is specified with --sqlite-database option and PostgreSQL configuration required to connect to PostgreSQL database is provided using --postgres-config configuration. The configuration is specified in YAML format.

OPTIONS

-v  Print log messages in debug level instead of info level.

--sqlite-database
    The snapshot of the SQLite database file. This must not be currently used by a running synapse server.

--postgres-config
    The database config file for the PostgreSQL database.

--curses
    Display a curses based progress UI.

CONFIG FILE
The postgres configuration file must be a valid YAML file with the following options.

•   database: Database configuration section. This section header can be ignored and the options below may be specified as top level keys.

•   name: Connector to use when connecting to the database. This value must be psycopg2.

•   args: DB API 2.0 compatible arguments to send to the psycopg2 module.

•   dbname - the database name

•   user - user name used to authenticate

•   password - password used to authenticate

•   host - database host address (defaults to UNIX socket if not provided)

•   port - connection port number (defaults to 5432 if not provided)

•   synchronous_commit: Optional. Default is True. If the value is False, enable asynchronous commit and don't wait for the server to call fsync before ending the transaction. See: https://www.postgresql.org/docs/current/static/wal-async-commit.html

Following example illustrates the configuration file format.

    database:
      name: psycopg2
      args:
        dbname: synapsedb
        user: synapseuser
        password: ORohmi9Eet=ohphi
        host: localhost
      synchronous_commit: false

COPYRIGHT
This man page was written by Sunil Mohan Adapa <sunil@medhas.org> for Debian GNU/Linux distribution.

SEE ALSO
synctl(1), hash_password(1), register_new_matrix_user(1)