Crear una geodatabase en un servicio de base de datos PostgreSQL en la nube

ArcGIS admite varias ofertas de bases de datos como servicio en la nube basadas en PostgreSQL. Puede crear una geodatabase empresarial en la mayoría de servicios de base de datos de PostgreSQL basados en la nube compatible con Esri.

Cuando se crea una geodatabase en ArcGIS Pro 3.5, la versión de la geodatabase es 11.5.0.x.

Completar los requisitos previos

Antes de poder crear una geodatabase, debe crear la instancia de base de datos en su cuenta en la nube, configurarla para recibir conexiones, crear un usuario sde y un esquema, y conceder al usuario sde privilegios para crear una geodatabase.

Siga las instrucciones facilitadas por su proveedor de nube para completar estos pasos.

También debe copiar el archivo de autorización del código clave de ArcGIS Server en el equipo en la nube donde instale el cliente de ArcGIS que utilizará para crear la geodatabase.

Complete los siguientes pasos previos antes de crear una geodatabase:

  1. Confirme que las versiones de ArcGIS que utiliza admiten el tipo y la versión del servicio de base de datos basado en la nube que desea utilizar.
  2. Cree la instancia del servicio de base de datos en la plataforma en la nube que haya elegido.
  3. Cree un inicio de sesión de usuario llamado sde para la instancia de base de datos.
  4. Conceda al usuario sde los privilegios necesarios para crear una geodatabase para el tipo de servicio de base de datos que esté utilizando.
  5. Cree un esquema llamado sde en la instancia de base de datos y conceda al usuario sde autoridad sobre el esquema.
  6. Instale el cliente de ArcGIS —ArcGIS Pro o ArcGIS Server— que utilizará para crear la geodatabase.

    Instale el cliente ArcGIS en la misma plataforma en la nube y en la misma región donde se ejecuta el servicio de base de datos.

  7. Asegúrese de que la instancia de base de datos está configurada para permitir conexiones desde el cliente ArcGIS.
  8. Desde el cliente ArcGIS que instaló en el paso 6, cree una conexión de base de datos a la instancia de base de datos, conectándose como usuario sde.

    Consulte Conexiones a bases de datos en ArcGIS Pro para ver ejemplos de cadenas de instancia.

    Si el usuario sde es un usuario autenticado en la base de datos, debe guardar la contraseña del usuario sde en la conexión de la base de datos.

  9. Obtenga un archivo de códigos clave de ArcGIS Server y ubíquelo en una ubicación a la que pueda acceder desde el cliente de ArcGIS que vaya a usar para crear la geodatabase.

Ahora puede crear una geodatabase en la instancia de base de datos en la nube.

Crear una geodatabase en la instancia del servicio de base de datos

Si se ha instalado ArcGIS Pro en la misma región de la nube que el servicio de base de datos, puede ejecutar la herramienta de geoprocesamiento Habilitar geodatabase corporativa para crear una geodatabase en la instancia de base de datos, como se describe en la primera sección a continuación.

Como alternativa, puede ejecutar la funciónArcPy de EnableEnterpriseGeodatabase en una ventana de Python o ejecutar un script de Python desde una instalación de ArcGIS Pro o ArcGIS Server en la nube.

Ejecutar la herramienta Habilitar geodatabase corporativa

Siga estos pasos para crear una geodatabase usando la herramienta Habilitar geodatabase corporativa en ArcGIS Pro:

  1. Inicie sesión en la máquina virtual en el entorno de nube e inicie ArcGIS Pro.
  2. Abra la herramienta Habilitar geodatabase corporativa.

    Consulte Buscar una herramienta de geoprocesamiento para obtener información general sobre cómo abrir herramientas de geoprocesamiento.

  3. Para el parámetro Conexión de base de datos de entrada, proporcione el archivo de conexión de base de datos que creó como parte de los pasos de prerrequisitos.
  4. Para un Archivo de autorización, busque y seleccione el archivo de códigos clave que se creó cuando autorizó ArcGIS Server (Enterprise edition).

    Este archivo se escribe en \\Program Files\ESRI\License<release#>\sysgen al instalar ArcGIS Server en Windows y en /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen al instalar ArcGIS Server en Linux.

  5. Haga clic en Ejecutar.

Ahora tiene una geodatabase en la instancia de base de datos.

Puede encontrar mensajes relacionados con la creación de la geodatabase en el archivo sde_setup.log, que se crea en el directorio especificado para la variable TEMP en equipo en el que se ejecuta la secuencia de comandos. Si tiene algún problema al crear una geodatabase, consulte este archivo para solucionarlo.

A continuación, el administrador de la base de datos puede crear roles de inicio de sesión y esquemas coincidentes para los usuarios que crearán, editarán y verán datos y crearán roles de inicio de sesión para editores y visualizadores de datos, y conceder a estos usuarios los privilegios adecuados.

Ejecutar la función ArcPy de EnableEnterpriseGeodatabase

Para ejecutar funciones ArcPy, conéctese a uno de los equipos cliente de ArcGIS en la nube y ejecute la función desde una ventana de Python.

  1. Inicie sesión en el equipo virtual en el entorno de nube donde ArcGIS Pro o ArcGIS Server está instalado.
  2. Acceda a una ventana de Python.

    Consulte a continuación la información sobre el acceso a Python desde las instalaciones de ArcGIS:

    • Ventana de Python: información sobre cómo abrir la ventana desde ArcGIS Pro
    • ArcGIS Server y ArcPy: información sobre cómo acceder a la ventana de Python en una instalación de ArcGIS Server

  3. Ejecute la función ArcPy de EnableEnterpriseGeodatabase desde una ventana de Python.

    Utilice el archivo de conexión a la base de datos que creó y haga referencia al archivo de autorización de ArcGIS Server que colocó en una ubicación accesible como parte de los pasos previos.

    En el siguiente ejemplo, la función de EnableEnterpriseGeodatabase se ejecuta desde una instalación de ArcGIS Pro. El archivo de conexión a la base de datos (postresdbaas.sde) se guarda en una carpeta del proyecto de ArcGIS Pro (C:\proprojects\pg_proj) y el archivo de autorización (keycodes) se guarda en C:\authcodes.

    arcpy.management.EnableEnterpriseGeodatabase(r"C:\proprojects\pg_proj\postresdbaas.sde",r"C:\authcodes\keyfile")

    En el siguiente ejemplo, la función se ejecuta desde una instalación de ArcGIS Server en un equipo Linux. El archivo de conexión a la base de datos (postresdbaas.sde) se guarda en /usr/connectionfiles y el archivo de códigos clave está en la ubicación predeterminada de ArcGIS Server.

    arcpy.management.EnableEnterpriseGeodatabase("/usr/connectionfiles/postresdbaas.sde","/usr/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License/sysgen/keycodes")

Ahora tiene una geodatabase en la instancia de base de datos.

Puede encontrar mensajes relacionados con la creación de la geodatabase en el archivo sde_setup.log, que se crea en el directorio especificado para la variable TEMP en equipo en el que se ejecuta la función. Si tiene algún problema al crear una geodatabase, consulte este archivo para solucionarlo.

A continuación, el administrador de la base de datos puede crear roles de inicio de sesión y esquemas coincidentes para los usuarios que crearán, editarán y verán datos y crearán roles de inicio de sesión para editores y visualizadores de datos, y conceder a estos usuarios los privilegios adecuados.

Ejecutar un script de Python desde un cliente de ArcGIS

Para crear la geodatabase ejecutando un script desde un equipo de ArcGIS Pro (Desktop Standard o Desktop Advanced) o ArcGIS Server puede usar el script que se proporciona aquí.

Sugerencia:

Para obtener más información sobre cómo ejecutar Python desde un equipo ArcGIS Server, consulte ArcGIS Server y ArcPy.

Siga estos pasos para ejecutar un script de Python que llame a las funciones ArcPy de CreateDatabaseConnection y EnableEnterpriseGeodatabase para conectarse a la base de datos y crear una geodatabase en un servicio de base de datos de PostgreSQL:

  1. Guarde el archivo con una extensión .py.
  2. Ejecute el script, proporcionando opciones e información específicas de su instancia.

    En los siguientes ejemplos, el archivo enable_gdb.py se ejecuta desde un equipo virtual en la misma región de la nube que el servicio de base de datos.

    En este ejemplo, el script se ejecuta desde una instalación de ArcGIS Server en un equipo Linux. Se conecta a una base de datos llamada myauroradb en una instancia de Amazon Aurora PostgreSQL en la región us-west-2 region (database-1-instance-1.zyxjtlpj9fer.us-west-2.rds.amazonaws.com). El archivo de códigos clave se colocó en /usr/arcgis/auth en el equipo de ArcGIS Server.

    ./enable_gdb.py --DBMS POSTGRESQL -i database-1-instance-1.zyxjtlpj9fer.us-west-2.rds.amazonaws.com --auth DATABASE_AUTH 
    -u sde -p sdeP@ss -D myauroradb -l '/usr/arcgis/auth/keycodes'

    En el siguiente ejemplo, el script se ejecuta desde un equipo Microsoft Windows en Azure. Se conecta a una base de datos llamada azurepgf en la instanciamy-pg-flex.postgres.database.azure.com de Microsoft Azure Database for PostgreSQL. El archivo de códigos clave se encuentra en la ubicación de ArcGIS Server predeterminada.

    enable_gdb.py --DBMS POSTGRESQL -i my-pg-flex.postgres.database.azure.com --auth DATABASE_AUTH 
    -u sde -p EsDeeEpass -D azurepgf -l '\\Program Files\ESRI\License\sysgen\keycodes'

    En el siguiente ejemplo, el script se ejecuta desde un equipo donde está instalado ArcGIS Pro y el archivo keycodes se colocó en Users\MyUser\Documents\AuthFiles\keycodes. El script se conecta a una base de datos (gcspostgres) en una instancia de Google Cloud SQL for PostgreSQL a la que se accede a través de la dirección IP pública 98.765.43.210.

    enable_gdb.py --DBMS POSTGRESQL -i 98.765.43.210 --auth DATABASE_AUTH 
    -u sde -p Zpassw0rd -D gcspostgres -l '\\Users\MyUser\Documents\AuthFiles\keycodes'

    Sugerencia:

    Introduzca -h o --help en la ventana de comando para obtener ayuda con la sintaxis de este script.

Ahora tiene una geodatabase en la instancia de base de datos.

Puede encontrar mensajes relacionados con la creación de la geodatabase en el archivo sde_setup.log, que se crea en el directorio especificado para su variable TEMP o TMP en el equipo virtual donde se ejecuta el script. Si tiene algún problema al crear una geodatabase, consulte este archivo para solucionarlo.

A continuación, el administrador de la base de datos puede crear roles de inicio de sesión y esquemas coincidentes para los usuarios que crearán, editarán y verán datos y crearán roles de inicio de sesión para editores y visualizadores de datos, y conceder a estos usuarios los privilegios adecuados.