pg_dump and pg_restore utilities back up and restore PostgreSQL databases from a remote server without requiring direct filesystem access.
Back up Gcore Managed PostgreSQL databases regularly to protect against data loss.
Install external utilities
Install the backup and restore utilities on the virtual or local server. Installation instructions are provided below for Ubuntu, CentOS, and Windows.Ubuntu 22.04
Ubuntu 22.04
- Connect to the virtual server.
-
Download the latest available updates and upgrade
apt:
- To install
pg_dumpandpg_restoretools, install the Postgres package, which includes them:
CentOS 7
CentOS 7
- Connect to the virtual server.
- Install the PostgreSQL package:
Windows
Windows
- Download the PostgreSQL installer for the relevant version.
- Run the installation process.
Get credentials
The backup and restore tools require credentials (username, password, and dbname) to connect to the Gcore Managed PostgreSQL server. Gcore Managed PostgreSQL uses port 5432. Retrieve credentials from the Customer Portal: Get credentials.
Back up databases
pg_dump backs up a single database. Gcore Managed PostgreSQL does not provide the superuser access required by pg_dumpall, so to back up multiple databases, run pg_dump separately for each one.
Back up a specific database
Use one of the following commands depending on the required backup format:- Default SQL format:
$ pg_dump -U username -W -h hostname -d database_name > database_name.sql - TAR format:
$ pg_dump -F t -U username -W -h hostname -d database_name > backup_file.tar - Custom format:
$ pg_dump -F c -U username -W -h hostname -d database_name > backup_file.dump - Directory format:
$ pg_dump -F d -U username -W -h hostname -d database_name -f backup_dir
username, hostname, and database_name with the actual values from the Customer Portal. For backup_file or backup_dir, specify the name for the backup file or directory.
Additional flag details:
-Wprompts the password before connecting to the PostgreSQL server-Fspecifies the output format of the backup and can be followed by the following flags:cfor custom formatdfor directory formattfor tar
Restore databases
The restore command depends on the backup format used in the previous section. SQL format (default) — restore withpsql:
pg_restore:
backup_path is the path to the backup file (.tar, .dump) or directory created in the previous section.
When restoring to a Gcore Managed PostgreSQL server, If the database uses application schemas beyond
pg_restore may encounter permission errors on internal system schemas. If the database uses only the public schema, restrict the restore to that schema to skip those errors:public, omit --schema=public. pg_restore may report permission errors for system objects; review these errors separately from errors affecting application schemas.username: the username from the Customer Portalhostname: the hostname from the Customer Portaldatabase_name: the name of the database to restore intobackup_path: the backup file (.tar,.dump) or directory to restore from