mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
Running `pg-upgradecluster` runs the `CREATE TEXT SEARCH DICTIONARY` and `CREATE TEXT SEARCH CONFIGURATION` from `zerver/migrations/0001_initial.py` on the new PostgreSQL cluster; this requires that the stopwords file and dictionary exist _prior_ to `pg_upgradecluster` being run. This causes a minor dependency conflict -- we do not wish to duplicate the functionality from `zulip::postgres_appdb_base` which configures those files, but installing all of `zulip::postgres_appdb_tuned` will attempt to restart PostgreSQL -- which has not configured the cluster for the new version yet. In order to split out configuration of the prerequisites for the application database, and the steps required to run it, we need to be able to apply only part of the puppet configuration. Use the newly-added `--config` argument to provide a more limited `zulip.conf` which only applies `zulip::postgres_appdb_base` to the new version of Postgres, creating the required tsearch data files. This also preserves the property that a failure at any point prior to the `pg_upgradecluster` is easily recoverable, by re-running `zulip-puppet-apply`.
This directory contains scripts that:
-
Generally do not require access to Django or the database (those are "management commands"), and thus are suitable to run operationally.
-
Are useful for managing a production deployment of Zulip (many are also used in a Zulip development environment, though development-only scripts live in
tools/).
For more details, see https://zulip.readthedocs.io/en/latest/overview/directory-structure.html.