1.4 KiB
Disclaimer
Do NOT use the following backup methods on the Stolon Cluster:
- copying the data directory
pg_dump
pg_dumpall
The first one will lead to corrupted/inconsistent files. The second and third ones put too much pressure on the cluster. Basically, you will destroy it, in the following ways:
- Load will increase, requests will timeout
- RAM will increase, the daemon will be OOM (Out Of Memory) killed by Linux
- Potentially, the WAL log will grow a lot
A binary backup with pg_basebackup
The only acceptable solution is pg_basebackup
with some throttling configured.
Later, if you want a SQL dump, you can inject this binary backup on an ephemeral database you spawned solely for this purpose on a non-production machine.
First, start by fetching from Consul the identifiers of the replication account. Do not use the root account setup in Stolon, it will not work.
First setup a SSH tunnel on your machine that bind postgresql, eg:
ssh -L 5432:psql-proxy.service.2.cluster.deuxfleurs.fr:5432 ...
Then export your password in PGPASSWORD
and launch the backup:
export PGPASSWORD=xxx
pg_basebackup \
--host=127.0.0.1 \
--username=replicator \
--pgdata=/tmp/sql \
--format=tar \
--wal-method=none \
--gzip \
--compress=6 \
--progress \
--max-rate=2M
Take a cup of coffe, it will take some times...