Расширение GCP Cloud SQL Terraform Postgres

# #postgresql #google-cloud-platform #terraform #postgis

Вопрос:

Существует ли официальный способ установки расширения на экземпляр GCP Postgress Cloud SQL с помощью Terraform?

Ближе всего я нашел этот неофициальный ресурс Postgres, но не сразу понятно, как их связать. Эта проблема на их трекере как бы показывает, как это сделать, но далеко не является пошаговым руководством.

если это имеет какое-либо значение, я пытаюсь предоставить экземпляр облачного SQL Postgres с помощью PostGIS.

Спасибо.

Ответ №1:

Terraform-это инструмент развертывания для создания всей вашей инфраструктуры. Чтобы установить расширение на Postgres, вам понадобится средство установки, потому что вам нужно подключиться к базе данных и выполнить команду.

Это то же самое, если вы хотите создать пользователя в базе данных и хотите предоставить ему некоторые привилегии.

Таким образом, вы не можете достичь этого с помощью Terraform. Я рекомендую вам иметь установочный инструмент, такой как Ansible, для выполнения этого действия.

Альтернативой является создание с помощью Terraform микро-виртуальной машины со сценарием запуска, который подключает базу данных, запускает команду и уничтожает себя в конце.

Комментарии:

1. Я хочу развернуть базу данных Postgres с помощью PostGIS : Шутки в сторону, я понимаю, что вы имеете в виду, но это похоже на техническую сложность. Было бы невероятно полезно, если бы официальный облачный SQL-модуль Terraform взял множество расширений и прозрачно установил их для вас. Если это не так, то мы вступаем на территорию обходного пути.

2. Я думаю, что трудно что-то документировать, когда это очевидно для разработчиков Google: есть конфигурация среды выполнения и конфигурация ядра БД. С помощью terraform вы настраиваете среду выполнения, чтобы настроить механизм БД, вам нужно войти в систему, поэтому он не является частью модуля terraform, нет необходимости документировать, потому что это очевидно. К сожалению, как часто бывает в документации облачных провайдеров (Google и других), это не очевидно для всех, и в документации отсутствуют эти моменты…