This guide will explain how to backup and restore PostgreSQL databases with the pg_dump
(pg_dumpall
) and pg_restore
tools.
To protect yourself against data loss, we recommend frequently backing up the databases you manage with Gcore Managed PostgreSQL.
Install backup and restore utilities on your virtual or local server. Below are guides on how to do so for Ubuntu, CentOS, and Windows.
Note: You must have root rights to run the commands successfully.
1. Access your Virtual Server.
2. Download the latest available updates and upgrade apt
:
$ sudo apt update && sudo apt upgrade
3. To install pg_dump
and pg_restore
tools, install the Postgres package, which includes them:
$ sudo apt install postgresql postgresql-contrib
1. Access your Virtual Server.
2. Install the PostgreSQL package:
$ sudo yum install postgresql-server
The package contains all required tools.
1. Download the installer of the relevant PostgreSQL version.
2. Run the installation process.
To launch backup and restore tools, you need credentials (username
, password
, port
, and dbname
) to connect to the Gcore Managed Database server, where databases are stored. You can find credentials in the Customer Portal, with instructions available in our dedicated guide.
Use one of the following commands depending on your choice of backup format:
$ pg_dump -U username -W -h hostname -d database_name > database_name.sql
$ pg_dump -F t -U username -W -h hostname -d database_name > backup_file.tar
$ pg_dump -F c -U username -W -h hostname -d database_name > backup_file.dump
$ pg_dump -F d -U username -W -h hostname -d database_name -f backup_dir
Instead of username
, hostname
, and database_name
, enter custom values, which you can access using our guide. For backup_file
or backup_dir
, specify the relevant name for the backup file or directory.
Below are some other details for the commands:
-W
prompts the password before connecting to the PostgreSQL server-F
specifies the output format of the backup and can be followed by the following flags:c
for custom formatd
for directory formatt
for tarRun the command:
$ pg_dumpall -U username -W -h hostname > all_pg.sql
Where:
all_pg.sql
is the output backup nameusername
is your username from the Customer Portalhostname
is your hostname from the Customer PortalRun the command:
$ pg_restore -U username -W -h hostname -d database_name < backup_file.tar
Where:
username
is your username from the Customer Portalhostname
is your hostname from the Customer Portal database_name
is your database name from the Customer Portalbackup_file.tar
is the file or directory with your backupWas this article helpful?
Discover our offerings, including virtual instances starting from 3.7 euro/mo, bare metal servers, AI Infrastructure, load balancers, Managed Kubernetes, Function as a Service, and Centralized Logging solutions.