DROP DATABASE — Supprimer une base de données
DROP DATABASE [ IF EXISTS ]nom
[ [ WITH ] (option
[, ...] ) ] oùoption
fait partie de : FORCE
La commande DROP DATABASE
détruit une base de données.
Elle supprime les entrées du catalogue pour la base et le répertoire
contenant les données. Elle ne peut être exécutée que par le propriétaire
de la base de données ou le superutilisateur. De plus, elle ne peut être
exécutée si vous êtes connecté sur la base de données cible, y compris
l'utilisateur effectuant la demande de suppression. (On peut se connecter à
postgres
ou à toute autre base de données pour lancer
cette commande.) De plus, si quelqu'un d'autre est connecté à la base de
données cible, cette commande échouera sauf si l'option
FORCE
, décrite ci-dessous, est utilisée.
DROP DATABASE
ne peut pas être annulée. Il convient donc
de l'utiliser avec précaution !
IF EXISTS
Ne pas renvoyer une erreur si l'agrégat n'existe pas. Un message d'avertissement est affiché dans ce cas.
name
Le nom de la base de données à supprimer.
FORCE
Tente d'arrêter toutes les connexions existantes à la base de données cible. Il ne le fait pas si des transactions préparées, des slots actifs de réplication logique ou des souscriptions sont présentes dans la base de données cible.
Ceci arrête les connexions des background worker
et les connexions que l'utilisateur courant a le droit d'arrêter avec la
fonction pg_terminate_backend
, décrite dans
Section 9.27.2. Si des connexions sont toujours
présentes, cette commande échouera.
DROP DATABASE
ne peut pas être exécutée à l'intérieur
d'un bloc de transactions.
Cette commande ne peut pas être exécutée en cas de connexion à la base de données cible. Il peut paraître plus facile d'utiliser le programme dropdb à la place, qui est un enrobage de cette commande.
Il n'existe pas d'instruction DROP DATABASE
dans le
standard SQL.