【发布时间】:2020-01-25 09:21:44
【问题描述】:
我正在尝试使用 postgresql 提供程序在 AWS 中创建的 postgres RDS 中创建一个数据库。我创建的 terraform 脚本如下:
resource "aws_db_instance" "test_rds" {
allocated_storage = "" # gigabytes
backup_retention_period = 7 # in days
engine = ""
engine_version = ""
identifier = ""
instance_class = ""
multi_az = ""
name = ""
username = ""
password = ""
port = ""
publicly_accessible = "false"
storage_encrypted = "false"
storage_type = ""
vpc_security_group_ids = ["${aws_security_group.test_sg.id}"]
db_subnet_group_name = "${aws_db_subnet_group.rds_subnet_group.name}"
}
postgresql 提供程序如下:
# Create databases in rds
provider "postgresql" {
alias = "alias"
host = "${aws_db_instance.test_rds.address}"
port = 5432
username =
password =
database =
sslmode = "disable"
}
# Create user in rds
resource "postgresql_role" "test_role" {
name =
replication = true
login = true
password =
}
# Create database rds
resource "postgresql_database" "test_db" {
name = testdb
owner = "${postgresql_role.test_role.name}"
lc_collate = "C"
allow_connections = true
provider = "postgresql.alias"
}
无论如何,我一直在检索 错误:初始化 PostgreSQL 客户端时出错:错误检测功能:错误 PostgreSQL 版本:pq:服务器上未启用 SSL
注意:空字段已经填满并且RDS创建成功,当尝试使用postgresql提供程序在rds中创建数据库时出现问题。
【问题讨论】:
-
ok 发现了与启用 SSL 无关的问题。我还必须将 postgresql_role 上的提供程序设置为:
provider = "postgresql.alias" -
在我的例子中,我的
host变量是错误的,有一个空字符串。
标签: postgresql amazon-web-services amazon-rds terraform-provider-aws