Child pages
  • How to restore a Postgres database
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Use case: you have a database backup file, and need to import it to a running Postgres.

Debian automatically saves backups of all databases in /var/backup/postgres, let's restore them in a fresh instance of Postgres. This guide can thus be used when restoring service after a crash, migrating to another version of postgres or another server.

Setup the environment

USER=foo
DB=bar
BACKUP=/var/backups/postgresql/20140412005701.residents.dump.tar.gz

Create the user

sudo -u postgres createuser ${USER} -P

Notes:

  • a password is prompted
  • the user must be superuser to replay backups created as a tar file

Create the Database

sudo -u postgres createdb ${DB} -O ${USER}

Restore

gunzip -c ${BACKUP} | pg_restore -h localhost --username=${USER} -d ${DB} -W

Remove the superuser priviledges

 sudo -u postgres 
  • No labels