postgres.rst: Add instructions how to setup the postgres user and clarify the final step

pull/14/head
rubo77 7 years ago
parent 3c099219e0
commit 616da9eb1d
  1. 32
      docs/postgres.rst

@ -6,7 +6,13 @@ Postgres version 9.4 or later is known to work.
Set up database Set up database
=============== ===============
The PostgreSQL database used *must* have the correct encoding set, otherwise Assuming your PostgreSQL database user is called ``postgres``, create a user
``synapse_user`` with::
su - postgres
createuser --pwprompt synapse_user
The PostgreSQL database used *must* have the correct encoding set, otherwise it
would not be able to store UTF8 strings. To create a database with the correct would not be able to store UTF8 strings. To create a database with the correct
encoding use, e.g.:: encoding use, e.g.::
@ -46,8 +52,8 @@ As with Debian/Ubuntu, postgres support depends on the postgres python connector
Synapse config Synapse config
============== ==============
When you are ready to start using PostgreSQL, add the following line to your When you are ready to start using PostgreSQL, edit the ``database`` section in
config file:: your config file to match the following lines::
database: database:
name: psycopg2 name: psycopg2
@ -96,9 +102,12 @@ complete, restart synapse. For instance::
cp homeserver.db homeserver.db.snapshot cp homeserver.db homeserver.db.snapshot
./synctl start ./synctl start
Assuming your new config file (as described in the section *Synapse config*) Copy the old config file into a new config file::
is named ``homeserver-postgres.yaml`` and the SQLite snapshot is at
``homeserver.db.snapshot`` then simply run:: cp homeserver.yaml homeserver-postgres.yaml
Edit the database section as described in the section *Synapse config* above
and with the SQLite snapshot located at ``homeserver.db.snapshot`` simply run::
synapse_port_db --sqlite-database homeserver.db.snapshot \ synapse_port_db --sqlite-database homeserver.db.snapshot \
--postgres-config homeserver-postgres.yaml --postgres-config homeserver-postgres.yaml
@ -117,6 +126,11 @@ run::
--postgres-config homeserver-postgres.yaml --postgres-config homeserver-postgres.yaml
Once that has completed, change the synapse config to point at the PostgreSQL Once that has completed, change the synapse config to point at the PostgreSQL
database configuration file ``homeserver-postgres.yaml`` (i.e. rename it to database configuration file ``homeserver-postgres.yaml``:
``homeserver.yaml``) and restart synapse. Synapse should now be running against
PostgreSQL. ./synctl stop
mv homeserver.yaml homeserver-old-sqlite.yaml
mv homeserver-postgres.yaml homeserver.yaml
./synctl start
Synapse should now be running against PostgreSQL.

Loading…
Cancel
Save