These tools replace the older gpcrondump and gpdbrestore utilities. A great feature for these newer tools is the ability to use S3 directly. This post will give a quick example on how to do this.
First, create a cluster and create a table to demonstrate the backup and restore.
psql -c "create table foo as select i from generate_series(1,1000000) as i distributed by (i);"
Next, create an s3_config.yaml file. You’ll need an Access key ID from AWS as well as the Secret Access key. This file should have the following:
executablepath: $GPHOME/bin/gpbackup_s3_plugin
options:
region: <your AWS region>
aws_access_key_id: <your access key>
aws_secret_access_key: <your secret access key>
bucket: <S3 Bucket name>
folder: <Path to store your backups in S3>
Next, you can execute a backup.
gpbackup --dbname gpadmin --plugin-config /home/gpadmin/s3_config.yaml
Pretty simple, right?
To restore, you can follow these simple steps. (You will need to update the timestamp value for the backup you wish to restore.)
dropdb gpadmin
gprestore --plugin-config /home/gpadmin/s3_config.yaml --timestamp 20190823142028