У меня есть PostgresSQL Экземпляр в облаке Google SQL с несколькими базами данных, Требуется создать резервную копию отдельной базы данных в облачном хранилище Google. Каков будет лучший способ добиться этого?
В итоге я создал облачную функцию, которая может экспортировать данные sql в облачное хранилище. Эта функция может быть запущена облачным Pub / Sub с помощью облачного планировщика
Вы можете экспортировать файл дампа из своего экземпляра вместе с базой данных в корзину Cloud Storage:
Экспорт данных с использованием Cloud SQL
Создание сегмента:
gsutil mb -p [PROJECT_NAME] -l [LOCATION_NAME] gs://[BUCKET_NAME]
Опишите экземпляр, из которого вы экспортируете:
gcloud sql instances describe [INSTANCE_NAME]
Скопируйте поле serviceAccountEmailAddress
Добавить учетную запись службы в ACL-корзину как писатель:
gsutil acl ch -u [SERVICE_ACCOUNT_ADDRESS]:W gs://[BUCKET_NAME]
Экспорт базы данных:
gcloud sql export sql [INSTANCE_NAME] gs://[BUCKET_NAME]/sqldumpfile.gz \ --database=[DATABASE_NAME]
Если вам не нужно сохранять разрешения, предоставленные ACL, который вы установили ранее, удалите ACL:
gsutil acl ch -d [SERVICE_ACCOUNT_ADDRESS] gs://[BUCKET_NAME]