Я бы создал базу данных postgresql в лазурном и после этого подключился бы к провайдеру postgresql
Вот как я создаю базу данных
resource "azurerm_postgresql_server" "qumulateserver" {
name = "${var.database_server_name}"
location = "${azurerm_resource_group.qumulateterraform.location}"
resource_group_name = "${azurerm_resource_group.qumulateterraform.name}"
sku {
name = "PGSQLB50"
capacity = 50
tier = "Basic"
}
administrator_login = "admin"
administrator_login_password = "password"
version = "9.5"
storage_mb = "51200"
ssl_enforcement = "Enabled"
}
Вот как бы я подключился
provider "postgresql" {
alias = "pgconnect"
host = "${var.database_server_name}${var.postgres_fqdn}"
port = 5432
database = "${var.database_name}"
username = "${azurerm_postgresql_server.qumulateserver.administrator_login}@${var.database_server_name}${var.postgres_fqdn}"
password = "${azurerm_postgresql_server.qumulateserver.administrator_login_password}"
expected_version = "9.5.0"
}
Так что проблема в версиях. Я получаю следующую ошибку Ошибка: Ошибка обновления состояния: произошла 1 ошибка (и):
* provider.postgresql.pgconnect: Error initializing PostgreSQL client: error detecting capabilities: error parsing version: Invalid character(s) found in patch number "9,"
Я попытался изменить версии базы данных на те же второстепенные версии и версии набора исправлений, но не помогло. Что я могу сделать?
Столкнулся с той же проблемой.
Похоже, проблема с поставщиком .postgresql v0.1.1.
Решено с помощью terraform-provider-postgresql_v0.1.0_x4.
Похоже, вы не используете последнюю версию Terraform. Я тестирую в своей лаборатории, у меня работает ваш tf-файл. Вы можете проверить версию с помощью
terraform -v
Вот мой результат.
[root@shui ~]# terraform -v
Terraform v0.11.3
+ provider.azurerm v1.1.0
+ provider.postgresql v0.1.1
Если вы не используете последнюю версию, я предлагаю вам скачать ее с https://releases.hashicorp.com/terraform/0.11.3/terraform_0.11.3_linux_amd64.zip?_ga=2.218208986.2119762406.1517451738-1224081222.1513669056
В tf файл у меня работает. Вы можете это проверить.