我将在 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 解决。