Compartir a través de


PostgreSQL

Resumen

Elemento Descripción
Estado de lanzamiento Disponibilidad general
Productos Excel
Power BI (modelos semánticos)
Power BI (flujos de datos)
Fabric (Dataflow Gen2)
Power Apps (flujos de datos)
Dynamics 365 Customer Insights
Servicios de Análisis
Tipos de autenticación admitidos Base de datos (nombre de usuario y contraseña)
Documentación de referencia de funciones PostgreSQL.Database

Nota

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

Prerrequisitos

Desde diciembre de 2019, Power BI Desktop se distribuye con NpgSQL y no se requiere ninguna instalación adicional. A partir de la versión de octubre de 2024, NpgSQL 4.0.17 es la versión incluida. La instalación de GAC invalida la versión proporcionada con Power BI Desktop, que es el valor predeterminado. La actualización se admite a través de la nube en el servicio Power BI y también local a través de la puerta de enlace de datos local. Para actualizar los datos del servicio Power BI sin una puerta de enlace de datos local, PostgreSQL debe hospedarse de forma que permita la conexión directa desde los servicios de Power BI en Azure. Esto se admite de forma nativa para PostgreSQL hospedado en Microsoft Azure. Para otros entornos de hospedaje, consulte a su proveedor de hospedaje sobre cómo configurar PostgreSQL para el acceso directo desde Internet. Si PostgreSQL está configurado para que no se pueda acceder directamente desde Internet (recomendado para la seguridad), debe usar una puerta de enlace de datos local para las actualizaciones. En el servicio Power BI, se usa NpgSQL 4.0.17, mientras que la actualización local usa la instalación local de NpgSQL, si está disponible y, de lo contrario, usa NpgSQL 4.0.17.

En el caso de las versiones de Power BI Desktop publicadas antes de diciembre de 2019, debe instalar el proveedor NpgSQL en el equipo local. Para instalar el proveedor NpgSQL, vaya a la página de versiones de , busque la versión v4.0.x más reciente y descargue y ejecute el archivo .msi. La arquitectura del proveedor (de 32 o 64 bits) debe coincidir con la arquitectura del producto en la que pretende usar el conector. Al instalar, asegúrese de seleccionar la Instalación de GAC de NpgSQL para garantizar que NpgSQL se agregue a su máquina.

Se recomienda NpgSQL 4.0.17. NpgSQL 4.1 y versiones posteriores no funcionarán debido a incompatibilidades de la versión de .NET.

instalador npgsql con la instalación de GAC seleccionada.

Para Power Apps, debe instalar el proveedor NpgSQL en el equipo local. Para instalar el proveedor NpgSQL, vaya a la página de versiones y descargue la versión adecuada. Descargar y ejecutar el instalador (el archivo NpgSQL-[número de versión].msi). Asegúrese de seleccionar la instalación de GAC de NpgSQL y, una vez completada, reinicie su máquina para que esta instalación surta efecto.

Capacidades soportadas

  • Importación
  • DirectQuery (modelos semánticos de Power BI)
  • Opciones avanzadas
    • Tiempo de espera del comando en minutos
    • Instrucción SQL nativa
    • Columnas de relación
    • Navegación mediante una jerarquía completa

Conexión a una base de datos postgreSQL desde Power Query Desktop

Una vez instalado el proveedor npgsql coincidente, puede conectarse a una base de datos postgreSQL. Para realizar la conexión, siga estos pasos:

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

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

    generador de conexiones de PostgreSQL en Power BI.

  3. Seleccione el modo de conectividad de datos Importar o DirectQuery.

  4. Si es la primera vez que se conecta a esta base de datos, introduzca las credenciales de PostgreSQL en los cuadros Nombre de usuario y Contraseña del tipo de autenticación Base de datos. Seleccione el nivel al que se va a aplicar la configuración de autenticación. Después, seleccione Conectar.

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

    Para más información sobre el uso de métodos de autenticación, vaya a Autenticación con un origen de datos.

    Nota

    Si la conexión no está cifrada, se le pedirá el mensaje siguiente.

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

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

  5. En Navegador, seleccione la información de base de datos que desee y, después, seleccione Cargar para cargar los datos o Transformar datos para seguir transformando los datos en el Editor de Power Query.

    Navegador de Power Query Desktop que muestra los datos de los empleados de recursos humanos en la base de datos de PostgreSQL.

Conexión a una base de datos postgreSQL desde Power Query Online

Para realizar la conexión, siga estos pasos:

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

  2. En el cuadro de diálogo de PostgreSQL que aparece, proporcione el nombre del servidor y de 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 usar.

  4. Seleccione el tipo de autenticación básico y escriba sus credenciales de PostgreSQL en los campos nombre de usuario y contraseña.

  5. Si la conexión no está cifrada, borre 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.

Conexión mediante opciones avanzadas

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

opciones avanzadas incluidas en el cuadro de diálogo 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 durante más tiempo. Esta opción solo está disponible en Power Query Desktop.
Instrucción SQL Para obtener información, vaya a Importar datos desde una base de datos mediante la 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.
Navegación mediante una jerarquía completa Si está activada, el navegador muestra la jerarquía completa de tablas de la base de datos a la que se conecta. Si está desactivada, el navegador solo muestra 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 consultas nativo

De manera predeterminada, el plegado de consultas nativo está habilitado. Las operaciones susceptibles de plegarse se aplicarán sobre la consulta nativa según la lógica normal de Import o Direct Query. El plegado de consultas nativo no es aplicable con parámetros opcionales presentes en Value.NativeQuery().

En el raro caso de que el plegado de consultas nativo no funcione correctamente, puede deshabilitarlo. Para deshabilitar el plegado de consultas nativo, establezca la marca EnableFolding en false para Value.NativeQuery() en el editor avanzado.

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

Solución de problemas

La consulta nativa puede producir 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 de solución de problemas consiste en comprobar si la consulta de Value.NativeQuery() produce el mismo error con una cláusula limit 1 alrededor de ella:

select * from (query) _ limit 1