PostgreSQL

Resumen

Elemento Descripción
Estado de la versión Disponibilidad general
Productos Excel
Power BI (Modelos semánticos)
Power BI (Flujos de datos)
Fabric (Flujo de datos Gen2)
Power Apps (Flujos de datos)
Dynamics 365 Customer Insights
Analysis Services
Tipos de autenticación admitidos Base de datos (Nombre de usuario / Contraseña)
Documentación de Referencia de Funciones PostgreSQL.Database

Nota:

Algunas capacidades pueden estar presentes en un producto, pero otras no, debido a los programas de implementación y las capacidades específicas del host.

Requisitos previos

A partir de la versión de diciembre de 2019, NpgSQL 4.0.10 se incluye con el espacio de trabajo Power BI y no se requiere de instalación adicional. La instalación de GAC anula la versión proporcionada por el espacio de trabajo Power BI, que será la predeterminada. La actualización es compatible tanto a través de la nube en el servicio de Power BI como en las instalaciones a través de la puerta de enlace de datos en las instalaciones. Para actualizar los datos del servicio de Power BI sin una puerta de enlace de datos local, PostgreSQL debe hospedarse de manera que permita que haya una conexión directa desde los servicios de Power BI en Azure. Esto es compatible de forma nativa con PostgreSQL alojado en Microsoft Azure. Para otros entornos de alojamiento, consulte a su proveedor de alojamiento acerca de la configuración de su PostgreSQL para el acceso directo desde Internet. Si PostgreSQL está configurado para que no se pueda acceder directamente desde Internet (recomendado por seguridad), deberá usar una puerta de enlace de datos local para las actualizaciones. En el servicio Power BI, se usará NpgSQL 4.0.10, mientras que la actualización local usará la instalación local de NpgSQL, si está disponible, y de lo contrario usará NpgSQL 4.0.10.

Para las versiones del espacio de trabajo Power BI publicadas antes de diciembre de 2019, debe instalar el proveedor NpgSQL en su máquina local. Para instalar el proveedor NpgSQL, vaya a la página de lanzamientos, busque v4. 0. 10 y descargue y ejecute el .archivo msi. La arquitectura del proveedor (32 bits o 64 bits) debe coincidir con la arquitectura del producto en el que desea utilizar el conector. Al instalar, asegúrese de seleccionar la instalación de NpgSQL GAC para asegurarse de que NpgSQL se le agregue a su máquina.

Recomendamos NpgSQL 4.0.10. NpgSQL 4.1 y versiones posteriores no funcionarán debido a la incompatibilidades de versiones de .NET.

Instalador npgsql con la instalación de GAC seleccionada.

Para Power Apps, debe instalar el proveedor NpgSQL en su máquina local. Para instalar el proveedor NpgSQL, vaya a la página de lanzamientos y descargue la versión correspondiente. Descargue y ejecute el instalador (el archivo (the NpgSQL-[número de la versión].msi). Asegúrese de seleccionar la instalación de NpgSQL GAC y, al finalizar, reinicie su máquina para que esta instalación surta efecto.

Funcionalidades admitidas

  • Importar
  • DirectQuery (modelos semánticos de Power BI)
  • Opciones avanzadas
    • Tiempo de espera del comando en minutos
    • Declaración SQL nativa
    • Columnas de relación
    • Navegar usando la jerarquía completa

Conectarse a una base de datos PostgreSQL desde el espacio de trabajo de Power Query

Una vez instalado el proveedor Npgsql correspondiente, puede conectarse a una base de datos PostgreSQL. Siga estos pasos para establecer la conexión:

  1. Seleccione la opción Base de datos PostgreSQL en la selección del conector.

  2. En el cuadro de diálogo de la Base de datos PostgreSQL que aparece, proporcione el nombre del servidor y la base de datos.

    Generador de conexiones de PostgreSQL en Power BI.

  3. Seleccione Importación o DirectQuery modo de conectividad de datos.

  4. Si es la primera vez que se conecta a esta base de datos, ingrese sus credenciales de PostgreSQL en el cuadro del tipo de autenticación del Nombre de usuario y la Contraseña de la Base de Datos. Seleccione el nivel al que desea aplicar la configuración de autenticación. A continuación, seleccione Conectar.

    Escriba el nombre de usuario y la contraseña de PostgreSQL.

    Para obtener mayor información acerca del uso de métodos de autenticación, vaya hasta la Autenticación con una fuente de datos.

    Nota:

    Si la conexión no está cifrada, aparecerá el siguiente mensaje.

    Compatibilidad con el cifrado de base de datos de Azure SQL.

    Seleccione OK para conectarse a la base de datos mediante una conexión sin cifrar, o siga las instrucciones de Habilitar conexiones cifradas al motor de la base de datos para configurar las conexiones cifradas a la base de datos PostgreSQL.

  5. En el Navegador, seleccione la información de la base de datos que desee y, a continuación, seleccione Cargar para cargar los datos o Transformar Datos para continuar transformando los datos en el Editor de Power Query.

    El navegador de escritorio de Power Query muestra los datos de los empleados de recursos humanos en una base de datos de PostgreSQL.

Conectarse a una base de datos PostgreSQL desde Power Query Online

Siga estos pasos para establecer la conexión:

  1. Seleccione la opción Base de datos PostgreSQL en la selección del conector.

  2. En el cuadro de diálogo de la Base de datos PostgreSQL que aparece, proporcione el nombre del servidor y la base de datos.

    Generador de conexiones de PostgreSQL en Power Query Online.

  3. Seleccione el nombre de la puerta de enlace de datos local que desea utilizar.

  4. Seleccione el tipo de autenticación Básica y escriba las credenciales de PostgreSQL en los cuadros Nombre de usuario y Contraseña.

  5. Si la conexión no está cifrada, desactive Usar conexión cifrada.

  6. Seleccione Siguiente para conectarse a la base de datos.

  7. En Navegador, seleccione los datos que necesita y, a continuación, seleccione Transformar datos para transformar los datos en el Editor de Power Query.

Conectarse mediante las opciones avanzadas

Power Query Desktop proporciona un conjunto de opciones avanzadas que puede agregar a su consulta si es necesario.

Opciones avanzadas incluidas en el cuadro de diálogo de conexión de PostgreSQL.

En la tabla siguiente se enumeran todas las opciones avanzadas que puede establecer en Power Query Desktop.

Opción avanzada Descripción
Tiempo de espera del comando en minutos Si la conexión dura más de 10 minutos (el tiempo de espera predeterminado), puede escribir otro valor en minutos para mantener la conexión abierta más tiempo. Esta opción solo está disponible en Power Query Desktop.
Instrucción SQL Para obtener información, vaya a Importar datos de una base de datos mediante una consulta de base de datos nativa.
Incluir columnas de relación Si está activada, incluye columnas que podrían tener relaciones con otras tablas. Si este cuadro está desactivado, no verá esas columnas.
Navegar usando la jerarquía completa Si está activada, el navegador muestra la jerarquía completa de tablas en la base de datos a la que se conecta. Si se borra, el navegador muestra solo las tablas cuyas columnas y filas contienen datos.

Una vez que haya seleccionado las opciones avanzadas que necesita, seleccione Aceptar en Power Query Desktop para conectarse a la base de datos PostgreSQL.

Plegado de las consultas nativas

De forma predeterminada, el plegado de consultas nativas está habilitado. Las operaciones que son capaces de plegarse se aplicarán sobre la consulta nativa de acuerdo con la lógica normal de Importación o Consulta directa. El plegado de consultas nativas no es aplicable con los parámetros opcionales presentes en Value.NativeQuery().

En el raro caso de que el plegado no funcione con el plegado de consultas nativo habilitado, puede deshabilitarlo. Para deshabilitar el plegado de consultas nativas, establezca la EnableFolding bandera para falsepara la Value.NativeQuery() en el editor avanzado.

Ejemplo: Value.NativeQuery(target as any, query, null, [EnableFolding=false])

Solución de problemas

Su consulta nativa puede arrojar el siguiente error:

We cannot fold on top of this native query. Please modify the native query or remove the 'EnableFolding' option.

Un paso básico para solucionar problemas es verificar si la consulta está en Value.NativeQuery() arroja el mismo error con una limit 1 cláusula a su alrededor:

select * from (query) _ limit 1