通过 terrafrom 向新角色授予权限不适用于 postgresql 14 +

问题描述 投票:0回答:1

我需要你的帮助。对于 Postgresql 14+,使用 Terraform 向新角色授予权限不起作用。 此代码对 Postgresql 13 有效:

resource "postgresql_role" "role" {
  name     = "role_new_role"
  password = local.readonly_password
  login    = true
  provider = postgresql
}

resource "postgresql_grant" "grant_privileges" {
  role        = postgresql_role.role.name
  database    = each.key
  schema      = "public"
  object_type = "table"
  privileges  = var.new_user_privileges
  depends_on  = [postgresql_role.role]
}

但从 Postgresql 14 开始,如果抛出错误:

 Error: Error granting role pg_database_owner to RDS_MASTER_USER: pq: role "pg_database_owner" cannot have explicit members

postgresql terraform amazon-rds
1个回答
0
投票

pg_database_owner
是postgres中新的预定义角色 https://www.postgresql.org/docs/current/predefined-roles.html

该修复已在 1.21.0 版本中发布。因此将您的 postgres 提供程序更新到版本 1.21.0 应该可以解决该问题。 https://github.com/cyrilgdn/terraform-provider-postgresql/pull/348

postgresql = {
  source  = "cyrilgdn/postgresql"
  version = "1.21.0"
}

有关此问题的更多信息请参见此处

© www.soinside.com 2019 - 2024. All rights reserved.