fix: retain login role during strict cluster restores #8

Merged
clement merged 1 commit from fix/version-tags-postgres-cluster-restore-20260925 into main 2026-09-25 16:55:00 +00:00
Owner

La restauration complète via pg_dumpall tentait de supprimer puis recréer le compte qui exécutait la restauration. Le contrôle strict des erreurs SQL révèle maintenant cet échec au lieu d’annoncer à tort un succès.

Conserver uniquement les instructions DROP/CREATE du compte de connexion hors exécution dans les globals ; ses ALTER ROLE restent appliqués. Les autres rôles, commentaires, chaînes SQL et tout le contenu des bases sont préservés. Les sauvegardes complètes utilisent aussi --if-exists pour les objets absents dans une cible neuve. L’arrêt sur erreur SQL reste obligatoire.

Validation : huit tests Rust réussis ; restauration complète réelle, conservation des rôles et données, puis injection d’une erreur avec arrêt immédiat, pour un compte standard et un compte avec espace/majuscule. Les quatre tests du filtre deviennent obligatoires pendant chaque construction. Le test CI de restauration vérifie aussi la recréation d’un rôle NOLOGIN et sa limite de connexions. Les contrôles et conditions de promotion existants sont conservés.

La restauration complète via pg_dumpall tentait de supprimer puis recréer le compte qui exécutait la restauration. Le contrôle strict des erreurs SQL révèle maintenant cet échec au lieu d’annoncer à tort un succès. Conserver uniquement les instructions DROP/CREATE du compte de connexion hors exécution dans les globals ; ses ALTER ROLE restent appliqués. Les autres rôles, commentaires, chaînes SQL et tout le contenu des bases sont préservés. Les sauvegardes complètes utilisent aussi --if-exists pour les objets absents dans une cible neuve. L’arrêt sur erreur SQL reste obligatoire. Validation : huit tests Rust réussis ; restauration complète réelle, conservation des rôles et données, puis injection d’une erreur avec arrêt immédiat, pour un compte standard et un compte avec espace/majuscule. Les quatre tests du filtre deviennent obligatoires pendant chaque construction. Le test CI de restauration vérifie aussi la recréation d’un rôle NOLOGIN et sa limite de connexions. Les contrôles et conditions de promotion existants sont conservés.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
images/postgres!8
No description provided.