Conectar a PostgreSQL desde ArcGIS

La siguiente lista resume los pasos necesarios para conectarse desde ArcGIS a una base de datos de PostgreSQL, incluida una base de datos que contiene una geodatabase corporativa:

Los archivos del cliente de PostgreSQL se instalan con ArcGIS AllSource y ArcGIS Server; no necesita instalar un cliente de PostgreSQL o establecer variables de entorno para acceder al cliente.

Conéctese a la base de datos.

Puede usar el cuadro de diálogo Conexión de base de datos de ArcGIS AllSource para conectarse a la base de datos, como se describe a continuación.

De forma alternativa, puede ejecutar la herramienta Crear conexión de base de datos en ArcGIS AllSource o usar Python para ejecutar el comando Crear conexión de base de datos desde un equipo de ArcGIS Server para crear un archivo de conexión de base de datos (.sde) que se conecte a la base de datos.

Para usar el archivo de conexión de base de datos con ArcGIS Server, debe guardar la información de usuario con el archivo de conexión.

Si decide utilizar la autenticación del sistema operativo, asegúrese de que PostgreSQL pueda autenticar la cuenta de ArcGIS Server.

Sugerencia:

Asegúrese de que la cuenta utilizada para la conexión tenga los privilegios apropiados en la base de datos y sobre los datos a los que necesita acceder la cuenta. Si la conexión utiliza la autenticación de sistema operativo y desea publicar servicios web mediante esta conexión, asegúrese de que la cuenta de ArcGIS Server tenga los privilegios necesarios sobre los datos incluidos en el servicio web. Consulte Privilegios para geodatabases en PostgreSQL y Privilegios para utilizar ArcGIS con una base de datos de PostgreSQL para obtener más información.

Siga los pasos que se indican a continuación para conectarse a una base de datos de PostgreSQL desde el cuadro de diálogo Conexión de base de datos en ArcGIS AllSource.

Cuadro de diálogo Conexión de base de datos

  1. Abra el panel Catálogo en ArcGIS AllSource.
  2. Haga clic con el botón derecho en Bases de datos y haga clic en Nueva conexión de base de datos.
  3. Elija PostgreSQL en la lista desplegable Plataforma de la base de datos.
  4. En el cuadro de texto Instancia, escriba el nombre del clúster de base de datos o la dirección IP del servidor donde está instalado PostgreSQL.

    A continuación se ofrecen ejemplos de la información que debe incluirse en el cuadro de texto Instancia:

    • Si el clúster de base de datos de PostgreSQL está en un servidor llamado ficus, escriba ficus en el cuadro de texto Instancia.
    • Si el clúster de la base de datos de PostgreSQL está escuchando en un puerto diferente del puerto predeterminado (5432), incluya el número de puerto en la instancia. Por ejemplo, si PostgreSQL está instalado en el servidor llamado mamabear y escucha en el puerto 49200, escriba mamabear,49200 en el cuadro de texto Instancia.
    • Para utilizar una dirección IPV6 para acceder al servidor donde se ha instalado PostgreSQL, escriba la dirección entre corchetes. Por ejemplo, si la dirección IPV6 del servidor es 1111:aa1:0:1:f111:a222:33f3:b4bb, escriba [1111:aa1:0:1:f111:a222:33f3:b4bb] en el cuadro de texto Instancia.
    • Para una instancia de Amazon Aurora (PostgreSQL-compatible edition) o Amazon RDS for PostgreSQL, proporcione el nombre de la instancia en formato <database_instance_identifier>.<region_id>.rds.amazonaws.com. Por ejemplo, si la instancia se crea con la región Amazon Web Services mypgrdsdb in the us-east-1 del identificador, escriba mypgrdsdb.us-east-1.rds.amazonaws.com en el cuadro de texto Instancia.
    • Si se trata de una instancia de Google Cloud SQL for PostgreSQL, escriba la dirección IP pública de la instancia en el cuadro de texto Instancia.
    • La cadena de caracteres de conexión de la instalación Microsoft Azure Cosmos DB for PostgreSQL se encuentra en formato c.<cluster_name>.postgres.database.azure.com. Por ejemplo, ha llamado allmydata al clúster al crearlo; escriba c.allmydata.postgres.database.azure.com en el cuadro de texto Instancia.
    • En el caso de la instancia de Microsoft Azure Database for PostgreSQL, el nombre de la instancia está en formato <server_name>.postgres.database.azure.com. Por ejemplo, ha llamado spatialdata al clúster servidor al crearlo; escriba spatialdata.postgres.database.azure.com en el cuadro de texto Instancia.

    Nota:

    Si el clúster de la base de datos de PostgreSQL está escuchando en un puerto diferente del puerto predeterminado (5432), puede incluir el número de puerto en la instancia. Por ejemplo, si PostgreSQL está instalado en el servidor mamabear y escucha en el puerto 49200, escriba mamabear,49200 en el cuadro de texto Instancia. También puede indicar el número de puerto como propiedad adicional (véase el paso 8 a continuación).

  5. Elija el tipo de autenticación que hay que utilizar al conectarse a la base de datos: Autenticación de base de datos o Autenticación del sistema operativo.
    • Si selecciona Autenticación del sistema operativo, no necesita escribir un nombre de usuario y contraseña; la conexión se realiza mediante el nombre de inicio de sesión y contraseña de la Interfaz de proveedor de soporte de seguridad (SSPI), del Protocolo de acceso al directorio ligero (LDAP) o de la Interfaz del programa de aplicación de servicios de seguridad genérico (GSSAPI) que se utilizan para iniciar sesión en el sistema operativo. Si el inicio de sesión que se utiliza para el sistema operativo no se corresponde con un inicio de sesión para base de datos válido, la conexión falla.
    • Si selecciona Autenticación de la base de datos, debe proporcionar un nombre y contraseña válidos en el cuadro de texto Nombre de usuario y Contraseña, respectivamente. Los nombres de usuario pueden tener un máximo de 30 caracteres.

      Desactive Guardar nombre de usuario y contraseña si prefiere no guardar su información de inicio de sesión como parte de la conexión, lo que le puede ayudar a mantener la seguridad de la base de datos. Sin embargo, al hacerlo, deberá proporcionar un nombre de usuario y contraseña cada vez que se conecte.

    Nota:

    La opción Guardar nombre de usuario y contraseña debe estar activada para los archivos de conexión que usan la autenticación de la base de datos para proporcionar servicios web de ArcGIS con acceso a la base de datos o si desea buscar en ArcGIS AllSource para localizar los datos a los que se accedió a través de este archivo de conexión.

  6. Escriba o elija el nombre de la base de datos del clúster de base de datos de PostgreSQL con la que desea conectarse.
  7. Introduzca el nombre del archivo de conexión en el campo Nombre del archivo de conexión.

    Al proporcionar información de conexión, se crea un nombre predeterminado. Puede utilizar el predeterminado o introducir un nombre de archivo más descriptivo.

    Este es el nombre que aparecerá en el panel Catálogo y la vista, y el nombre del archivo .sde almacenado en el disco.

  8. Si el clúster de la base de datos PostgreSQL se comunica a través de un puerto que no es el predeterminado, expanda la sección Propiedades adicionales, elija Puerto en el menú desplegable Propiedad y especifique el puerto en el campo Valor.
  9. Haga clic en Validar para confirmar que la información de conexión es válida y que la base de datos está accesible.

    Si la base de datos contiene una geodatabase y la conexión es válida, la pestaña Propiedades de geodatabase pasa a estar activa. Si es preciso, puede modificar las propiedades de la conexión a la geodatabase de modo que se conecte a una versión tradicional distinta de la versión predeterminada, configurar la conexión como una conexión de versión en rama o conectarse a un momento histórico.

  10. Haga clic en Aceptar para crear el archivo de conexión.

Aparece una conexión de base de datos en Bases de datos en el panel Catálogo y se crea un archivo de conexión (.sde) en el directorio del proyecto de ArcGIS AllSource.

Registrar la conexión con ArcGIS Enterprise

Para permitir que los sitios de ArcGIS Server accedan a los datos, utilice el archivo de conexión de base de datos que ha creado para agregar un data store registrado en ArcGIS AllSource o agregar un elemento de data store al portal.

Para registrar una conexión utilizando la autenticación del sistema operativo se requiere ArcGIS Enterprise 11.1 o posterior. La cuenta de ArcGIS Server que se utiliza para ejecutar ArcGIS Server debe ser un inicio de sesión SSPI o LDAP correlacionado con un rol de inicio de sesión en PostgreSQL. A ese rol de inicio de sesión se le deben conceder privilegios sobre las tablas que se van a publicar de la geodatabase o base de datos de PostgreSQL.