Because the application picks its own cardant and cardant_read_only role names, you can't really have two cardant instances in the same database cluster, because the schema setup will try to drop and recreate the roles (which will fail, because there are database objects elsewhere that mention the role).
The problem is really just the dropping and re-creating. We could keep things largely the same if the code just altered the role on startup. Maybe the creation/update should be moved outside of the trasco statements.
Because the application picks its own
cardant
andcardant_read_only
role names, you can't really have two cardant instances in the same database cluster, because the schema setup will try to drop and recreate the roles (which will fail, because there are database objects elsewhere that mention the role).