我是 Terraform 新手,想要为在 Google Cloud SQL 上创建的 PostgreSQL 9.6 实例中创建一个 postgres
数据库模式。
我在 main.tf
中有如下代码以创建 PostgreSQL
实例:
resource "google_sql_database_instance" "my-database" {
name = "my-${var.deployment_name}"
database_version = "POSTGRES_9_6"
region = "${var.deployment_region}"
settings {
tier = "db-f1-micro"
ip_configuration {
ipv4_enabled = true
}
}
}
我尝试创建一个像这样的PostgreSQL
对象:
provider "postgresql" {
host = "${google_sql_database_instance.my-database.ip_address}"
username = "postgres"
}
最终创建模式:
resource "postgresql_schema" "my_schema" {
name = "my_schema"
owner = "postgres"
}
然而,这些配置无法正常工作。当我运行terraform plan
时出现以下情况:
Inappropriate value for attribute "host": string required.
如果我删除了Postgres
对象:
Error: Error initializing PostgreSQL client: error detecting capabilities: error PostgreSQL version: dial tcp :5432: connect: connection refused
此外,我想为默认创建的名为
postgres
的用户添加密码,该用户是在创建PostgreSQL实例时自动创建的。
编辑:使用的版本Terraform v0.12.10
+ provider.google v2.17.0
+ provider.postgresql v1.2.0
有什么建议吗?