API
The Gcore Customer Portal is being updated. Screenshots may not show the current version.
Cloud
Cloud
OverviewTerraformBilling
API
Chosen image
Home/Cloud/Managed Database for PostgreSQL/Backup and restore

Backup and restore PostgreSQL database for Managed Database for PostgreSQL using external utilities

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 Database for PostgreSQL.

1. Install external utilities

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.

2. Get your credentials

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.

3. Back up databases

Back up a specific database

Use one of the following commands depending on your choice of 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

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 format
    • d for directory format
    • t for tar

Back up all databases

Run the command:

$ pg_dumpall -U username -W -h hostname > all_pg.sql

Where:

  • all_pg.sql is the output backup name
  • username is your username from the Customer Portal
  • hostname is your hostname from the Customer Portal

4. Restore databases

Run the command:

$ pg_restore -U username -W -h hostname -d database_name < backup_file.tar

Where:

  • username is your username from the Customer Portal
  • hostname is your hostname from the Customer Portal
  • database_name is your database name from the Customer Portal
  • backup_file.tar is the file or directory with your backup

Was this article helpful?

Not a Gcore user yet?

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.

Go to the product page