# SOME DESCRIPTIVE TITLE. # Copyright (C) 2018-2026, Slavi Pantaleev, Aine Etke, MDAD community members # This file is distributed under the same license as the matrix-docker-ansible-deploy package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-14 11:57+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../../../docs/importing-postgres.md:10 msgid "Importing an existing Postgres database from another installation (optional)" msgstr "" #: ../../../docs/importing-postgres.md:12 msgid "You can manually import your database from a previous default installation of Synapse." msgstr "" #: ../../../docs/importing-postgres.md:14 #: ../../../docs/importing-postgres.md:43 msgid "**Notes**:" msgstr "" #: ../../../docs/importing-postgres.md:15 msgid "Don't forget to import your Synapse `media_store` files as well — see [the importing-synapse-media-store guide](importing-synapse-media-store.md) for more details." msgstr "" #: ../../../docs/importing-postgres.md:16 msgid "If you have an existing installation done using this Ansible playbook, you can easily migrate that to another server following [our dedicated server migration guide](maintenance-migrating.md)." msgstr "" #: ../../../docs/importing-postgres.md:18 msgid "Prerequisites" msgstr "" #: ../../../docs/importing-postgres.md:20 msgid "For this to work, **the database name in Postgres must match** what this playbook uses. This playbook uses a Postgres database name of `synapse` by default (controlled by the `matrix_synapse_database_database` variable). If your database name differs, be sure to change `matrix_synapse_database_database` to your desired name and to re-run the playbook before proceeding." msgstr "" #: ../../../docs/importing-postgres.md:22 msgid "The playbook supports importing Postgres dump files in **text** (e.g. `pg_dump > dump.sql`) or **gzipped** formats (e.g. `pg_dump | gzip -c > dump.sql.gz`). Importing multiple databases (as dumped by `pg_dumpall`) is also supported." msgstr "" #: ../../../docs/importing-postgres.md:24 msgid "The migration might be a good moment, to \"reset\" a not properly working bridge. Be aware, that it might affect all users (new link to bridge, new rooms, …)" msgstr "" #: ../../../docs/importing-postgres.md:26 msgid "Before doing the actual import, **you need to upload your Postgres dump file to the server** (any path is okay)." msgstr "" #: ../../../docs/importing-postgres.md:29 msgid "Do not import into a database that already contains tables (e.g. one that a service has already initialized and used). As the [official Synapse backup guide](https://element-hq.github.io/synapse/latest/usage/administration/backups.html) puts it: at best this will error, at worst it will lead to subtle database inconsistencies. Import into an empty (freshly created) database instead." msgstr "" #: ../../../docs/importing-postgres.md:31 msgid "**Note for Synapse users restoring an older backup**: if the server kept running (and users kept chatting) after the backup you are restoring was made, truncate the `e2e_one_time_keys_json` table after importing and before starting Synapse. Restoring an older backup can otherwise cause already-used one-time keys to be re-issued, leading to message decryption errors for your users. You can do this by [getting a database terminal](maintenance-postgres.md#getting-a-database-terminal), connecting to the Synapse database (`\\c synapse`) and running `TRUNCATE e2e_one_time_keys_json;`. Clients will generate and upload fresh one-time keys automatically." msgstr "" #: ../../../docs/importing-postgres.md:33 msgid "Importing" msgstr "" #: ../../../docs/importing-postgres.md:35 msgid "To import, run this command (make sure to replace `SERVER_PATH_TO_POSTGRES_DUMP_FILE` with a file path on your server):" msgstr "" #: ../../../docs/importing-postgres.md:45 msgid "`SERVER_PATH_TO_POSTGRES_DUMP_FILE` must be a file path to a Postgres dump file on the server (not on your local machine!)" msgstr "" #: ../../../docs/importing-postgres.md:46 msgid "`postgres_default_import_database` defaults to `matrix`, which is useful for importing multiple databases (for dumps made with `pg_dumpall`). If you're importing a single database (e.g. `synapse`), consider changing `postgres_default_import_database` accordingly" msgstr "" #: ../../../docs/importing-postgres.md:47 msgid "after importing a large database, it's a good idea to run [an `ANALYZE` operation](https://www.postgresql.org/docs/current/sql-analyze.html) to make Postgres rebuild its database statistics and optimize its query planner. You can easily do this via the playbook by running `just run-tags run-postgres-vacuum -e postgres_vacuum_preset=analyze` (see [Vacuuming PostgreSQL](maintenance-postgres.md#vacuuming-postgresql) for more details)." msgstr "" #: ../../../docs/importing-postgres.md:49 msgid "Troubleshooting" msgstr "" #: ../../../docs/importing-postgres.md:51 msgid "Table Ownership" msgstr "" #: ../../../docs/importing-postgres.md:53 msgid "A table ownership issue can occur if you are importing from a Synapse installation which was both:" msgstr "" #: ../../../docs/importing-postgres.md:55 msgid "migrated from SQLite to Postgres, and" msgstr "" #: ../../../docs/importing-postgres.md:56 msgid "used a username other than 'synapse'" msgstr "" #: ../../../docs/importing-postgres.md:58 msgid "In this case you may run into the following error during the import task:" msgstr "" #: ../../../docs/importing-postgres.md:64 msgid "where `synapse_user` is the database username from the previous Synapse installation." msgstr "" #: ../../../docs/importing-postgres.md:66 msgid "This can be verified by examining the dump for ALTER TABLE statements which set OWNER TO that username:" msgstr "" #: ../../../docs/importing-postgres.md:78 msgid "It can be worked around by changing the username to `synapse`, for example by using `sed`:" msgstr "" #: ../../../docs/importing-postgres.md:84 msgid "This uses sed to perform an 'in-place' (`-i`) replacement globally (`/g`), searching for `synapse_user` and replacing with `synapse` (`s/synapse_user/synapse`). If your database username was different, change `synapse_user` to that username instead. Expand search/replace statement as shown in example above, in case of old user name like `matrix` — replacing `matrix` only would… well — you can imagine." msgstr "" #: ../../../docs/importing-postgres.md:86 msgid "Note that if the previous import failed with an error it may have made changes which are incompatible with re-running the import task right away; if you do so it may fail with an error such as:" msgstr "" #: ../../../docs/importing-postgres.md:92 msgid "Repeat import" msgstr "" #: ../../../docs/importing-postgres.md:94 msgid "In this case you can use the command suggested in the import task to clear the database before retrying the import:" msgstr "" #: ../../../docs/importing-postgres.md:102 msgid "Now on your local machine run `just run-tags setup-postgres` to prepare the database roles etc." msgstr "" #: ../../../docs/importing-postgres.md:104 msgid "If not, you probably get this error. `synapse` is the correct table owner, but the role is missing in database." msgstr "" #: ../../../docs/importing-postgres.md:110 msgid "Once the database is clear and the ownership of the tables has been fixed in the SQL file, the import task should succeed." msgstr "" #: ../../../docs/importing-postgres.md:112 msgid "Check, if `--dbname` is set to `synapse` (not `matrix`) and replace paths (or even better, copy this line from your terminal)" msgstr "" #: ../../../docs/importing-postgres.md:118 msgid "Hints" msgstr "" #: ../../../docs/importing-postgres.md:120 msgid "To open psql terminal run `/matrix/postgres/bin/cli`" msgstr ""