resource "postgresql_grant" "workflowdb_owner_db_all" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_owner.name
  object_type = "database"
  privileges  = ["CONNECT", "CREATE", "TEMPORARY"]
}

resource "postgresql_grant" "workflowdb_owner_public_schema_all" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_owner.name
  schema      = postgresql_schema.workflowdb_public.name
  object_type = "schema"
  privileges  = ["USAGE", "CREATE"]
}

resource "postgresql_grant" "workflowdb_owner_public2_schema_all" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_owner.name
  schema      = postgresql_schema.workflowdb_public2.name
  object_type = "schema"
  privileges  = ["USAGE", "CREATE"]
}

resource "postgresql_grant" "workflowdb_owner_public_table_all" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_owner.name
  schema      = postgresql_schema.workflowdb_public.name
  object_type = "table"
  privileges  = ["SELECT", "INSERT", "UPDATE", "DELETE", "TRUNCATE", "REFERENCES", "TRIGGER"]
}

resource "postgresql_grant" "workflowdb_owner_public2_table_all" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_owner.name
  schema      = postgresql_schema.workflowdb_public2.name
  object_type = "table"
  privileges  = ["SELECT", "INSERT", "UPDATE", "DELETE", "TRUNCATE", "REFERENCES", "TRIGGER"]
}

resource "postgresql_grant" "workflowdb_owner_public_sequence_all" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_owner.name
  schema      = postgresql_schema.workflowdb_public.name
  object_type = "sequence"
  privileges  = ["SELECT", "UPDATE", "USAGE"]
}

resource "postgresql_grant" "workflowdb_owner_public2_sequence_all" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_owner.name
  schema      = postgresql_schema.workflowdb_public2.name
  object_type = "sequence"
  privileges  = ["SELECT", "UPDATE", "USAGE"]
}

resource "postgresql_grant" "workflowdb_user_db_connect" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_user.name
  object_type = "database"
  privileges  = ["CONNECT"]
}

resource "postgresql_grant" "workflowdb_user_public_schema_ro" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_user.name
  schema      = postgresql_schema.workflowdb_public.name
  object_type = "schema"
  privileges  = ["USAGE"]
}

resource "postgresql_grant" "workflowdb_user_public2_schema_ro" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_user.name
  schema      = postgresql_schema.workflowdb_public2.name
  object_type = "schema"
  privileges  = ["USAGE"]
}

resource "postgresql_grant" "workflowdb_user_public_table_rw" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_user.name
  schema      = postgresql_schema.workflowdb_public.name
  object_type = "table"
  privileges  = ["SELECT", "INSERT", "UPDATE", "DELETE", "TRUNCATE"]
}

resource "postgresql_grant" "workflowdb_user_public2_table_rw" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_user.name
  schema      = postgresql_schema.workflowdb_public2.name
  object_type = "table"
  privileges  = ["SELECT", "INSERT", "UPDATE", "DELETE", "TRUNCATE"]
}

resource "postgresql_grant" "workflowdb_user_public_sequence_rw" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_user.name
  schema      = postgresql_schema.workflowdb_public.name
  object_type = "sequence"
  privileges  = ["SELECT", "UPDATE", "USAGE"]
}

resource "postgresql_grant" "workflowdb_user_public2_sequence_rw" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_user.name
  schema      = postgresql_schema.workflowdb_public2.name
  object_type = "sequence"
  privileges  = ["SELECT", "UPDATE", "USAGE"]
}

resource "postgresql_grant" "workflowdb_reader_public_schema_ro" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_reader.name
  schema      = postgresql_schema.workflowdb_public.name
  object_type = "schema"
  privileges  = ["USAGE"]
}

resource "postgresql_grant" "workflowdb_reader_public2_schema_ro" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_reader.name
  schema      = postgresql_schema.workflowdb_public2.name
  object_type = "schema"
  privileges  = ["USAGE"]
}

resource "postgresql_grant" "workflowdb_reader_public_table_ro" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_reader.name
  schema      = postgresql_schema.workflowdb_public.name
  object_type = "table"
  privileges  = ["SELECT"]
}

resource "postgresql_grant" "workflowdb_reader_public2_table_ro" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_reader.name
  schema      = postgresql_schema.workflowdb_public2.name
  object_type = "table"
  privileges  = ["SELECT"]
}

resource "postgresql_grant" "workflowdb_reader_public_sequence_ro" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_reader.name
  schema      = postgresql_schema.workflowdb_public.name
  object_type = "sequence"
  privileges  = ["SELECT", "USAGE"]
}

resource "postgresql_grant" "workflowdb_reader_public2_sequence_ro" {
  database    = postgresql_database.main.name
  role        = postgresql_role.workflowdb_reader.name
  schema      = postgresql_schema.workflowdb_public2.name
  object_type = "sequence"
  privileges  = ["SELECT", "USAGE"]
}
