Je migre l'environnement de test existant vers Amazon RDS PostgreSQL. Le cadre de test a la particularité de recharger les données de certaines tables dans un état antérieur. Pour cela, il désactive les clés étrangères, supprime les données existantes, charge l'état de sauvegarde et active à nouveau les clés étrangères.
Actuellement, le framework de test désactive les clés étrangères en désactivant tous les déclencheurs (bien sûr, cela nécessite un superutilisateur):
alter table tablename disable trigger all;
Sur RDS, cela échoue avec:
ERREUR: autorisation refusée: "RI_ConstraintTrigger_a_20164" est un déclencheur système
Comment puis-je désactiver temporairement les clés étrangères dans Amazon RDS PostgreSQL?
Remarque: une question similaire a déjà été posée ( PostgreSQL sur RDS: comment importer en masse des données avec des contraintes FK? ) Mais il s'agissait spécifiquement de l'importation hors ligne et la solution est également spécifique à l'importation hors ligne.