Comme les rôles peuvent posséder des objets dans une base de données et
   peuvent détenir des droits pour accéder à d'autres objets, supprimer un
   rôle n'est généralement pas la seule exécution d'un
   DROP ROLE. Tout
   objet appartenant à un rôle doit d'abord être
   supprimé ou réaffecté à d'autres propriétaires ; et tout droit donné à
   un rôle doit être révoqué.
  
   L'appartenance des objets doit être transférée, un à la fois, en utilisant
   des commandes ALTER, par exemple :
ALTER TABLE table_de_bob OWNER TO alice;
   Il est aussi possible d'utiliser la commande
   REASSIGN OWNED
   pour réaffecter tous les objets du rôle à
   supprimer à un autre rôle. Comme REASSIGN OWNED ne peut
   pas accéder aux objets dans les autres bases, il est nécessaire de l'exécuter
   dans chaque base qui contient des objets possédés par le rôle. (Notez que la
   première exécution de REASSIGN OWNED changera le
   propriétaire de tous les objets partagés entre bases de données, donc les
   bases et les tablespaces, qui appartiennent au rôle à supprimer.)
  
   Une fois que tous les objets importants ont été transférés aux nouveaux
   propriétaires, tout objet restant possédé par le rôle à supprimer peut
   être supprimé avec la commande
   DROP OWNED. Encore
   une fois, cette commande ne peut pas accéder aux objets des autres bases
   de données, donc il est nécessaire de l'exécuter sur chaque base qui
   contient des objets dont le propriétaire correspond au rôle à supprimer.
   De plus, DROP OWNED ne supprimera pas des bases ou
   tablespaces entiers, donc il est nécessaire de le faire manuellement si
   le rôle possède des bases et/ou des tablespaces qui n'auraient pas été
   transférés à d'autres rôles.
  
   DROP OWNED fait aussi attention à supprimer tout droit
   donné au rôle cible pour les objets qui ne lui appartiennent pas. Comme
   REASSIGN OWNED ne touche pas à ces objets, il est
   souvent nécessaire d'exécuter à la fois REASSIGN OWNED
   et DROP OWNED (dans cet ordre !) pour supprimer
   complètement les dépendances d'un rôle à supprimer.
  
En bref, les actions de suppression d'un rôle propriétaire d'objets sont :
REASSIGN OWNED BY role_a_supprimer TO role_remplacant; DROP OWNED BY role_a_supprimer; -- répétez les commandes ci-dessus pour chaque base de données de l'instance DROP ROLE role_a_supprimer;
Lorsque les objets ne sont pas tous transférés au même rôle, il est préférable de gérer les exceptions manuellement, puis de réaliser les étapes ci-dessus pour le reste.
   Si DROP ROLE est tenté alors que des objets dépendants
   sont toujours présents, il enverra des messages identifiant les objets à
   réaffecter ou supprimer.