#!/bin/bash set -euo pipefail # Restoring PostgreSQL Database # # The backup file from pg_dump (with format=custom) # must be provided via stdin. # # Example: # # cat /path/to/backup | postgresql-backup-restore # echo "=== Reading Configuration" set -a && source /etc/postgresql/postgresql.env && set +a echo "== Stopping Authentik..." systemctl stop authentik-server authentik-worker echo "== Dropping and Recreating Database..." podman exec systemd-postgresql dropdb --username="${POSTGRES_USER}" --force --if-exists "${POSTGRES_DB}" podman exec systemd-postgresql createdb --username="${POSTGRES_USER}" "${POSTGRES_DB}" echo "== Restoring Database..." cat /dev/stdin | podman exec -i systemd-postgresql pg_restore \ --username="${POSTGRES_USER}" \ --dbname="${POSTGRES_DB}" echo "== Starting Authentik..." systemctl start authentik-server authentik-worker