Création d'une base de données PostgreSQL et d'un utilisateur sde sous Linux

L'installation sur Linux d'ArcSDE fournit un script, nommé setup_pgdb.sde, permettant de créer le tablespace PostgreSQL, la base de données, l'utilisateur sde et sa structure sur Red Hat Linux. Vous pouvez utiliser le script fourni sur le support d'installation ou effectuer manuellement la procédure ci-dessous. Pour plus d'informations sur l'installation de PostgreSQL, consultez la documentation de PostgreSQL.

Le script setup_pgdb.sde installe également le langage PL/pgSQL. L'installation manuelle de PL/pgSQL est expliquée dans Installation de PL/pgSQL sur Linux.

RemarqueRemarque :

Bien que PostgreSQL vous permette de stocker des noms d'objet comportant des lettres majuscules et minuscules en plaçant les noms entre guillemets, vous ne pouvez pas utiliser ces noms dans une géodatabase ArcSDE. Par conséquent, n'utilisez pas des noms de base de données, de tablespace, d'utilisateur ou de structure comportant des majuscules et des minuscules.

Etapes :
  1. Connectez-vous à psql en tant que super-utilisateur postgres et créez l'administrateur ArcSDE. L'utilisateur créé doit être nommé sde, mais vous pouvez choisir le mot de passe que vous voulez.
    CREATE ROLE sde LOGIN PASSWORD <password> SUPERUSER NOINHERIT
    CREATEDB;
    
  2. Si vous souhaitez stocker la base de données utilisée pour votre géodatabase ArcSDE dans un tablespace différent du tablespace par défaut (pg_default), créez un tablespace dans un répertoire vide.

    Dans l'exemple suivant, un tablespace nommé sde1 est créé dans le répertoire sde sur un serveur 32 bits. L'utilisateur sde est le propriétaire du tablespace.

    CREATE TABLESPACE sde1 OWNER sde LOCATION
    '/var/lib/pgsql/data/sde';
    

    RemarqueRemarque :

    Pour PostgreSQL, le tablespace doit être créé dans un répertoire vide. Si vous spécifiez un répertoire qui contient déjà des fichiers, la création du tablespace échouera.

  3. Créez une base de données et accordez à l'utilisateur sde des droits d'accès total à celle-ci.

    L'utilisateur sde doit disposer d'un accès total à la base de données pour créer la géodatabase.

    RemarqueRemarque :

    Si vous envisagez d'utiliser le type de géométrie PostGIS pour le stockage des données, vous devez créer la base de données à l'aide du modèle PostGIS ou activer une base de données existante pour la géométrie PostGIS à l'aide d'un script fourni par PostGIS.

    Le nom d'une base de données utilisé pour stocker une géodatabase ne peut pas contenir de caractères spéciaux.

    Dans cet exemple, la base de données agency est la propriété de l'utilisateur sde, elle utilise le codage de caractères UTF8 et est stockée dans le tablespace sde1.

    CREATE DATABASE agency OWNER sde ENCODING 'UTF8' TABLESPACE sde1;
    GRANT ALL ON DATABASE agency TO sde;
    

  4. Accordez les privilèges d'utilisation (USAGE) aux rôles et groupes publics ou à des rôles et groupes spécifiques afin que d'autres utilisateurs puissent accéder à la base de données.
    GRANT USAGE 
    ON DATABASE agency 
    TO public;
  5. Connectez-vous à la base de données en tant que super-utilisateur postgres pour créer la structure de l'utilisateur sde. Il s'agit de la structure dans laquelle le référentiel de géodatabase ArcSDE sera stocké. Le nom de la structure doit être sde.
    \c agency
    CREATE SCHEMA sde AUTHORIZATION sde;
  6. Accordez à l'utilisateur sde des droits complets à la structure sde.
    GRANT ALL 
    ON SCHEMA sde 
    TO sde;
    
  7. Accordez les privilèges d'utilisation (USAGE) aux rôles et groupes publics ou à des rôles et groupes spécifiques pour leur permettre d'accéder à la structure sde.

    Tout utilisateur qui interagit avec la géodatabase doit disposer de privilèges d'utilisation sur la structure sde.

    GRANT USAGE 
    ON SCHEMA sde 
    TO public;
    
  8. Si vous utilisez le type de géométrie PostGIS, vous devez également accorder les privilèges SELECT, INSERT, UPDATE et DELETE à l'utilisateur sde sur la table public.geometry_columns.
    GRANT SELECT, INSERT, UPDATE, DELETE 
    ON TABLE public.geometry_columns 
    TO sde;
  9. Si vous utilisez le type de géométrie PostGIS, accordez également le privilège SELECT à l'utilisateur sde sur la table public.spatial_ref_sys.
    GRANT SELECT
    ON TABLE public.spatial_ref_sys
    TO sde;

Créez d'autres utilisateurs pour leur permettre d'accéder aux données dans la base de données et de les manipuler.

AstuceAstuce :

Un fichier, compris avec ArcSDE, contient des instructions SQL pour la création d'autres utilisateurs et de leurs structures. Vous trouverez ce fichier, nommé roles_schemas_privileges.txt, dans le dossier $SDEHOME > outils > postgres après avoir installé ArcSDE.

Rubriques connexes


7/10/2012