resource "postgresql_role" "owner" { name = var.owner } resource "postgresql_database" "this" { name = var.name owner = postgresql_role.owner.name } resource "postgresql_extension" "vector" { count = var.pgvector ? 1 : 0 name = "vector" database = postgresql_database.this.name } resource "postgresql_grant" "public" { database = postgresql_database.this.name role = "public" object_type = "database" privileges = [] } resource "postgresql_grant" "owner" { database = postgresql_database.this.name role = postgresql_role.owner.name object_type = "database" privileges = ["CONNECT", "CREATE", "TEMPORARY"] depends_on = [postgresql_grant.public] }