Documentation PostgreSQL 15.15 » Référence » Commandes SQL » DROP ROLE

Précédent | Niveau supérieur | Suivant
DROP PUBLICATION | Sommaire | DROP ROUTINE

## DROP ROLE

DROP ROLE — Supprimer un rôle de base de données

## Synopsis

    DROP ROLE [ IF EXISTS ] nom [, ...]

## Description

`DROP ROLE` supprime le(s) rôle(s) spécifié(s). Seul un superutilisateur peut supprimer un rôle de superutilisateur. Le droit `CREATEROLE` est nécessaire pour supprimer les autres rôles.

Un rôle ne peut pas être supprimé s'il est toujours référencé dans une base de données du groupe. Dans ce cas, toute tentative aboutit à l'affichage d'une erreur. Avant de supprimer un rôle, il est nécessaire de supprimer au préalable tous les objets qu'il possède (ou de modifier leur appartenance) et de supprimer tous les droits définis par ce rôle sur d'autres objets. Les commandes `REASSIGN OWNED` et `DROP OWNED` peuvent être utiles pour cela. Voir Section 22.4 pour plus de discussions sur ce sujet.

Néanmoins, il n'est pas nécessaire de supprimer toutes les appartenances de rôle impliquant ce rôle ; `DROP ROLE` supprime automatiquement toute appartenance du rôle cible dans les autres rôles et des autres rôles dans le rôle cible. Les autres rôles ne sont pas supprimés ou affectés.

## Paramètres

`IF EXISTS`

  Ne pas renvoyer une erreur si l'agrégat n'existe pas. Un message d'avertissement est affiché dans ce cas.

`nom`

  Le nom du rôle à supprimer.

## Notes

PostgreSQL inclut un programme dropuser qui a la même fonctionnalité que cette commande (en fait, il appelle cette commande) mais qui est lancé à partir du shell.

## Exemples

Supprimer un rôle :

    DROP ROLE jonathan;

## Compatibilité

Le standard SQL définit `DROP ROLE` mais il ne permet la suppression que d'un seul rôle à la fois et il spécifie d'autres droits obligatoires que ceux utilisés par PostgreSQL.

## Voir aussi

CREATE ROLE, ALTER ROLE, SET ROLE