Skip to content
Snippets Groups Projects
Forked from Maunium / synapse
Loading
postgres.md 8.61 KiB

Using Postgres

Synapse supports PostgreSQL versions 10 or later.

Install postgres client libraries

Synapse will require the python postgres client library in order to connect to a postgres database.

  • If you are using the matrix.org debian/ubuntu packages, the necessary python library will already be installed, but you will need to ensure the low-level postgres library is installed, which you can do with apt install libpq5.

  • For other pre-built packages, please consult the documentation from the relevant package.

  • If you installed synapse in a virtualenv, you can install the library with:

    ~/synapse/env/bin/pip install "matrix-synapse[postgres]"

    (substituting the path to your virtualenv for ~/synapse/env, if you used a different path). You will require the postgres development files. These are in the libpq-dev package on Debian-derived distributions.

Set up database

Assuming your PostgreSQL database user is called postgres, first authenticate as the database user with:

su - postgres
# Or, if your system uses sudo to get administrative rights
sudo -u postgres bash

Then, create a postgres user and a database with:

# this will prompt for a password for the new user
createuser --pwprompt synapse_user

createdb --encoding=UTF8 --locale=C --template=template0 --owner=synapse_user synapse