summaryrefslogtreecommitdiffstats
path: root/systemd/README.systemd
diff options
context:
space:
mode:
Diffstat (limited to 'systemd/README.systemd')
-rw-r--r--systemd/README.systemd55
1 files changed, 55 insertions, 0 deletions
diff --git a/systemd/README.systemd b/systemd/README.systemd
new file mode 100644
index 0000000..c818ad3
--- /dev/null
+++ b/systemd/README.systemd
@@ -0,0 +1,55 @@
+systemd unit files for PostgreSQL on Debian/Ubuntu
+--------------------------------------------------
+
+Each cluster is run as a separate service, called postgresql@version-cluster.
+pg_ctlcluster is invoked with --skip-systemctl-redirect. Logging still goes to
+/var/log/postgresql.
+
+There is a parent service called postgresql.service, that starts/stops/restarts/
+reloads all individual services that are configured as "auto" in
+/etc/postgresql/*/*/start.conf.
+
+The link between start.conf and postgresql.service is established by
+postgresql-generator, which creates symlinks in
+/run/systemd/generator/postgresql.service.wants/.
+
+Backup
+------
+
+Two backup mechanisms are being offered as systemd services: basebackups
+capable of point in time recovery (PITR, the preferred method), and SQL-level
+dumps.
+
+pg_basebackup@version-cluster.service
+pg_basebackup@version-cluster.timer
+
+ Weekly basebackup in /var/backups/postgresql/version/cluster.
+ By default, 3 copies are being kept.
+
+ To enable, run
+ systemctl enable --now pg_basebackup@version-cluster.timer
+ systemctl start pg_basebackup@version-cluster.service
+
+pg_receivewal@version-cluster.service
+
+ WAL archival to be used with pg_basebackup@.service for PITR.
+
+ To enable, run
+ systemctl enable --now pg_basebackup@version-cluster.timer pg_receivewal@version-cluster.service
+ systemctl start pg_basebackup@version-cluster.service
+
+pg_dump@version-cluster.service
+pg_dump@version-cluster.timer
+
+ Weekly SQL dump in /var/backups/postgresql/version/cluster.
+ By default, 3 copies are being kept.
+
+ To enable, run
+ systemctl enable --now pg_dump@version-cluster.timer
+ systemctl start pg_dump@version-cluster.service
+
+The mechanisms provided are meant to be used with low to medium size databases.
+For larger databases, or databases with high write volume, we advise to use a
+full-size backup solution such as pgbackrest or barman.
+
+ -- Christoph Berg <myon@debian.org> Mon, 08 Mar 2021 13:45:26 +0100