Je veux référencer mes schémas existants dans ASGARD

C’est-à-dire enregistrer dans la table de gestion[1] tous les schémas de base (hors schémas système), afin de pouvoir y gérer les droits à l'aide des fonctionnalités et outils d'ASGARD.

ProcédureAvec une fonction d'ASGARD

Prérequis

Je dois être membre de g_admin[2].

Si, pour certains schémas, les éventuels objets contenus dans les schémas n’appartiennent pas déjà au propriétaire du schéma, je dois être membre de ce dernier, ainsi que de tous les rôles propriétaires d’objets.

Si certains schémas ou objets appartiennent à un super-utilisateur[3], je dois être un super-utilisateur.

Attention

La fonction échouera si je ne dispose pas de droits suffisants sur certains schémas. Le message d'erreur m'indiquera quel schéma a posé problème.

Quels que soit mes droits, elle se soldera toujours par un échec si l'un des schémas à référencer est propriété d'un rôle de connexion (hors super-utilisateurs). Dans cette situation, je devrai soit exclure ledit schéma du référencement, soit en attribuer préalablement la propriété à un rôle de groupe[4].

  1. J’utilise une fonction, z_asgard_admin.asgard_initialisation_gestion_schema.

    Pour référencer tous les schémas existants, hors schémas système :

    1
    2
    SELECT z_asgard_admin.asgard_initialisation_gestion_schema() ;

    Je peux aussi décider d’exclure certains schémas en les listant en argument de la fonction :

    1
    2
    SELECT z_asgard_admin.asgard_initialisation_gestion_schema(
    3
        ARRAY['%schema1', '%schema2', '%schema3']
    4
    ) ;

    Je peux lancer cette fonction à tout moment et autant de fois que je le souhaite.