don't spawn an extra container
run pg_dumpall within matrix-postgres instead, ensures correct version
store under /matrix so a backup of the folder will contain a DB dump
use absolute paths just in case something in the ENV is messed up
To make a back up of the current PostgreSQL database, make sure it's running and then execute a command like this on the server:
To make a back up of the current PostgreSQL database, make sure it's running and then execute a command like this on the server:
```bash
```bash
docker run \
/usr/bin/docker exec \
--rm \
--log-driver=none \
--network=matrix \
--env-file=/matrix/postgres/env-postgres-psql \
--env-file=/matrix/postgres/env-postgres-psql \
docker.io/postgres:13.1-alpine \
matrix-postgres \
pg_dumpall -h matrix-postgres \
/usr/local/bin/pg_dumpall -h matrix-postgres \
| gzip -c \
| gzip -c \
> /postgres.sql.gz
> /matrix/postgres.sql.gz
```
```
If you are using an [external Postgres server](configuring-playbook-external-postgres.md), the above command will not work, because the credentials file (`/matrix/postgres/env-postgres-psql`) is not available.
If you are using an [external Postgres server](configuring-playbook-external-postgres.md), the above command will not work, because the credentials file (`/matrix/postgres/env-postgres-psql`) is not available.