Crear una base de datos PostgreSQL y un usuario sde en Linux
La instalación de ArcSDE en Linux incluye una secuencia de comandos (setup_pgdb.sde) para crear el espacio de tabla, la base de datos, el usuario sde y el correspondiente esquema de PostgreSQL en Red Hat Linux. Puede utilizar la secuencia de comandos incluida en el soporte de la instalación o realizar estos pasos manualmente. Para obtener más información acerca de la instalación de PostgreSQL, consulte la documentación de PostgreSQL.
La secuencia de comandos setup_pgdb.sde también instala el lenguaje PL/pgSQL. La instalación manual de PL/pgSQL se explica en Instalación de PL/pgSQL en Linux.
A pesar de que PostgreSQL permite almacenar nombres de objetos en mayúsculas o en mayúsculas y minúsculas, al realizar determinadas acciones como utilizar comillas para los nombres, no se pueden utilizar en una geodatabase de ArcSDE. Por tanto, no utilice nombres de bases de datos, espacios de tabla, usuarios ni esquemas en mayúsculas y minúsculas.
-
Inicie sesión en psql como el superusuario postgres y cree el usuario administrador de ArcSDE. El usuario debe crearse con el nombre sde, pero se puede elegir cualquier contraseña.
CREATE ROLE sde LOGIN PASSWORD <password> SUPERUSER NOINHERIT CREATEDB;
-
Si desea almacenar la base de datos utilizada para la geodatabase de ArcSDE en un espacio de tabla distinto al predeterminado (pg_default), cree un nuevo espacio de tabla en un directorio vacío.
En el ejemplo siguiente, se crea el espacio de tabla sde1 en el directorio sde de un servidor de 32 bits. El espacio de tabla pertenece al usuario sde.
CREATE TABLESPACE sde1 OWNER sde LOCATION '/var/lib/pgsql/data/sde';
Nota:PostgreSQL precisa que el espacio de tabla se cree en un directorio vacío. Si se especifica un directorio que ya contenga archivos, se producirá un error en la creación del espacio de tabla.
-
Cree una base de datos y otorgue al usuario sde acceso completo a la misma.
El acceso completo es necesario para que el usuario sde cree la geodatabase.
Nota:Si desea utilizar el tipo de geometría PostGIS para almacenar datos, debe crear la base de datos mediante la plantilla PostGIS o habilitar una base de datos existente para geometría PostGIS utilizando una secuencia de comandos proporcionada por PostGIS.
El nombre de la base de datos utilizada para almacenar una geodatabase no puede incluir caracteres especiales.
En este ejemplo, la base de datos de la agencia pertenece al usuario sde, utiliza la codificación de caracteres UTF8 y se almacena en el espacio de tabla sde1.
CREATE DATABASE agency OWNER sde ENCODING 'UTF8' TABLESPACE sde1; GRANT ALL ON DATABASE agency TO sde;
-
Otorgue privilegios de usuario a los roles y grupos públicos o específicos, de modo que otros usuarios puedan acceder a la base de datos.
GRANT USAGE ON DATABASE agency TO public;
-
Inicie sesión en la base de datos como el superusuario postgres para crear el esquema del usuario sde. Éste es el esquema en el que se almacena el repositorio de la geodatabase de ArcSDE. El nombre del esquema debe ser sde.
\c agency CREATE SCHEMA sde AUTHORIZATION sde;
-
Otorgue al usuario sde privilegios completos para el esquema sde.
GRANT ALL ON SCHEMA sde TO sde;
-
Otorgue uso a los roles y grupos públicos o específicos para acceder al esquema sde.
Cualquier usuario que interactúe con la geodatabase debe disponer de privilegios de uso del esquema sde.
GRANT USAGE ON SCHEMA sde TO public;
-
Si está utilizando el tipo de geometría PostGIS, también debe otorgar los privilegios SELECT, INSERT, UPDATE y DELETE a sde en la tabla public.geometry_columns.
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE public.geometry_columns TO sde;
-
Asimismo, si está utilizando el tipo de geometría PostGIS, otorgue SELECT a sde en la tabla public.spatial_ref_sys.
GRANT SELECT ON TABLE public.spatial_ref_sys TO sde;
Cree otros usuarios para acceder a datos y manipularlos en la base de datos.
Se incluye un archivo junto con ArcSDE que contiene sentencias SQL para la creación de otros usuarios y los correspondientes esquemas. Puede encontrar este archivo, roles_schemas_privileges.txt, en $SDEHOME > tools > postgres una vez instalado ArcSDE.