#!/bin/sh # Restores a dump into a database (Step 13.3): # restore.sh [dump] [database] # Defaults: the newest dump in /backups, into a new database "deadhead_restore" # (created if missing), so the live database is untouched. To replace the live # database, stop the server first and pass its name. set -eu dump="${1:-$(ls -1 /backups/deadhead-*.dump | sort | tail -n 1)}" database="${2:-deadhead_restore}" if ! psql -d postgres -tAc "SELECT 1 FROM pg_database WHERE datname = '$database'" | grep -q 1; then createdb "$database" fi pg_restore --clean --if-exists --no-owner --dbname="$database" "$dump" echo "restore: $dump -> $database"