Renommer un schéma
ALTER SCHEMA %ancien_nom_schema RENAME TO %nouveau_nom_schema ;
ou
UPDATE z_asgard.gestion_schema_usr SET nom_schema = '%nouveau_nom_schema' WHERE nom_schema = '%ancien_nom_schema' ;
Lorsque le nom d’un schéma est modifié via une commande ALTER SCHEMA … RENAME
, ASGARD met à jour en conséquence la table de gestion[1] avec le nouveau nom du schéma.
Réciproquement, un utilisateur peut renommer un schéma en changeant la valeur du champ nom_schema
dans la vue utilisateur[2].
Ces deux méthodes sont parfaitement équivalentes.
Remarque :
Quel que soit la méthode utilisée, le rôle de l'utilisateur doit être membre du rôle producteur[3] du schéma et disposer du privilège CREATE
sur la base, directement ou par héritage de rôles de groupe dont il est membre.
g_admin[4]
et les rôles super-utilisateurs remplissent nativement ces conditions. Pour les autres rôles, le privilège CREATE
devra être conféré explicitement par l'administrateur, ainsi que l'appartenance au rôle producteur.
Exemple :
Modification du nom du schéma w_snow
, renommé en w_jon_snow
.
Avec une commande classique :
ALTER SCHEMA w_snow RENAME TO w_jon_snow ;
NOTICE: ... Le nom du schéma w_jon_snow a été mis à jour dans la table de gestion.
ALTER SCHEMA
Par la table de gestion :
UPDATE z_asgard.gestion_schema_usr
SET nom_schema = 'w_jon_snow'
WHERE nom_schema = 'w_snow' ;
NOTICE: ... Le schéma w_jon_snow a été renommé.
UPDATE 1