Terraform postgres 提供程序无法识别 Azure Postgresql 数据库版本

Terraform postgres 提供程序无法识别 Azure Postgresql 数据库版本

我将在 Azure 中创建一个 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,"

我尝试将数据库版本更改为相同的次要版本和补丁集版本,但没有帮助。我该怎么办?

答案1

看来您没有使用最新版本的 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

转换函数文件对我有用。你可以检查一下。

答案2

面临完全相同的问题。

似乎 provider.postgresql v0.1.1 存在问题。

通过使用 terraform-provider-postgresql_v0.1.0_x4 解决。

相关内容