2.12. Configuring S3 Connection #

2.12.1. S3 Required Permissions

pg_probackup3 supports S3 interface for storing backups. Backup data is transferred to and from S3 without saving it in intermediate locations thus eliminating the need of having a large temporary storage.

Note

S3 is available only when pg_probackup3 is used with Postgres Pro Enterprise.

If you are going to use pg_probackup3 with S3 interface, complete the following steps:

2.12.1. S3 Required Permissions #

The following minimal permissions to the target S3 bucket should be granted for the access key used by pg_probackup3 with versioning disabled:

  • for the init command:

    s3:GetBucketVersioning
    s3:ListBucket
    
  • for the add-instance, set-config, and set-backup commands:

    s3:GetBucketVersioning
    s3:ListBucket
    s3:PutObject
    
  • for the del-instance command:

    s3:GetBucketVersioning
    s3:ListBucket
    s3:DeleteObject
    
  • for the backup, archive-push, and file-map commands:

    s3:ListBucket
    s3:PutObject
    s3:GetBucketVersioning
    s3:AbortMultipartUpload
    s3:GetObject
    
  • for the restore, fuse, show, show-config, and send-backup commands:

    s3:GetBucketVersioning
    s3:GetObject
    s3:ListBucket
    
  • for the validate command:

    s3:GetBucketVersioning
    s3:GetObject
    s3:ListBucket
    s3:PutObject
    
  • for the merge and retention commands:

    s3:ListBucket
    s3:PutObject
    s3:GetBucketVersioning
    s3:AbortMultipartUpload
    s3:GetObject
    s3:DeleteObject
    
  • for the delete command:

    s3:GetBucketVersioning
    s3:GetObject
    s3:ListBucket
    s3:DeleteObject
    

When versioning is enabled, the following additional permissions are required:

  • s3:ListBucketVersions for all commands that require s3:ListBucket

  • s3:DeleteObjectVersion for all commands that require s3:DeleteObject