diff --git a/aiven_db_migrate/migrate/pgmigrate.py b/aiven_db_migrate/migrate/pgmigrate.py index 4984b10..f4f0510 100644 --- a/aiven_db_migrate/migrate/pgmigrate.py +++ b/aiven_db_migrate/migrate/pgmigrate.py @@ -992,18 +992,20 @@ def _migrate_roles(self) -> Dict[str, PGRoleTask]: message=err.diag.message_primary, ) else: - if role.rolconfig: - for conf in role.rolconfig: - key, value = conf.split("=", 1) - self.log.info("Setting config for role %r: %s = %s", role.rolname, key, value) - self.target.c(f'ALTER ROLE {role.safe_rolname} SET "{key}" = %s', args=(value, ), return_rows=0) - roles[role.rolname] = PGRoleTask( - rolname=rolname, - rolpassword=role.rolpassword, - status=PGRoleStatus.created, - message="role created", - ) - + try: + if role.rolconfig: + for conf in role.rolconfig: + key, value = conf.split("=", 1) + self.log.info("Setting config for role %r: %s = %s", role.rolname, key, value) + self.target.c(f'ALTER ROLE {role.safe_rolname} SET "{key}" = %s', args=(value, ), return_rows=0) + roles[role.rolname] = PGRoleTask( + rolname=rolname, + rolpassword=role.rolpassword, + status=PGRoleStatus.created, + message="role created", + ) + except psycopg2.ProgrammingError as err: + self.log.warn(f'Setting config {role.rolname}: {key} = {value}. Error: {err}') return roles @staticmethod