web-dev-qa-db-fra.com

Le meilleur moyen de pg_dump PostgreSQL sur RDS vers S3

J'ai besoin de vider mon PostgreSQL sur RDS dans un fichier sur S3 périodiquement (pour l'utiliser ailleurs qu'AWS).

Existe-t-il un meilleur moyen que d'exécuter un script qui exécute pg_dump et télécharge les résultats vers S3 en utilisant par exemple boto3?

6
pmichna

Vous pouvez télécharger directement le fichier (gzippé) pg_dump résultats vers s3 en utilisant le aws cli:

pg_dump -Z 9 -v -h ${DATABASE_Host} -U ${DATABASE_USER} -d ${DATABASE_NAME} | aws s3 cp --storage-class STANDARD_IA --sse aws:kms - s3://my-bucket/dump.sql.gz

Au travail, nous avons enveloppé cela dans un script qui récupère en outre les informations d'identification requises dans le magasin de paramètres, puis stocke la sauvegarde dans s3. Le script s'exécute dans un conteneur Docker en tant que tâche ecs planifiée. Peut-être le code dans ce référentiel vous aidera.

8
Birne94