in src/dma/collector/workflows/readiness_check/_postgres/main.py [0:0]
def check_user_obj_privileges(self, db_name: str) -> list[str]:
errors: list[str] = []
rows = self.local_db.sql(
"select namespace_name from collection_postgres_user_schemas_without_privilege where database_name = $db_name",
params={"db_name": db_name},
).fetchall()
errors.extend(f"user doesn't have USAGE privilege on schema {row[0]}" for row in rows)
rows = self.local_db.sql(
"select schema_name, table_name from collection_postgres_user_tables_without_privilege where database_name = $db_name",
params={"db_name": db_name},
).fetchall()
errors.extend(f"user doesn't have SELECT privilege on table {row[0]}.{row[1]}" for row in rows)
rows = self.local_db.sql(
"select schema_name, view_name from collection_postgres_user_views_without_privilege where database_name = $db_name",
params={"db_name": db_name},
).fetchall()
errors.extend(f"user doesn't have SELECT privilege on view {row[0]}.{row[1]}" for row in rows)
rows = self.local_db.sql(
"select namespace_name, rel_name from collection_postgres_user_sequences_without_privilege where database_name = $db_name",
params={"db_name": db_name},
).fetchall()
errors.extend(f"user doesn't have SELECT privilege on sequence {row[0]}.{row[1]}" for row in rows)
return errors