Matrix automatically generates and populates necessary tables.
--- /dev/null
+DO $$
+BEGIN
+ IF NOT EXISTS (SELECT * FROM pg_user WHERE usename = 'synapse_user')
+ THEN
+ CREATE USER synapse_user;
+ END IF;
+END$$;
+
+CREATE DATABASE matrix_db
+ ENCODING 'UTF8'
+ LC_COLLATE='C'
+ LC_CTYPE='C'
+ TEMPLATE=template0
+ OWNER synapse_user;
--- /dev/null
+DROP DATABASE matrix_db;
+
+DO $$
+BEGIN
+ IF EXISTS (SELECT * FROM pg_user WHERE usename = 'synapse_user')
+ THEN
+ DROP USER synapse_user;
+ END IF;
+END$$;
# Database configuration
database:
# The database engine name
- name: "sqlite3"
+ name: "psycopg2"
# Arguments to pass to the engine
args:
- # Path to the database
- database: "/var/lib/matrix-synapse/homeserver.db"
+ user: "synapse_user"
+ database: "matrix_db"
+ cp_min: 5
+ cp_max: 10
# Number of events to cache in memory.
event_cache_size: "10K"
local mail_db dovecot trust
host mail_db dovecot ::1/128 trust
host mail_db dkim ::1/128 trust
+local matrix_db synapse_user trust
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections: