PostgreSQL

Dialectos que usan estas instrucciones

Los siguientes dialectos comparten los requisitos de configuración de la base de datos que se describen en esta página:

  • PostgreSQL
  • Microsoft Azure PostgreSQL
  • Amazon Aurora PostgreSQL
  • Amazon RDS para PostgreSQL

En el caso de Amazon RDS para PostgreSQL y Amazon Aurora PostgreSQL, Looker incluye compatibilidad con la integración.

Para PostgreSQL en Heroku, consulta la documentación de Heroku.

Para Google Cloud SQL para PostgreSQL, consulta nuestra página dedicada a Google Cloud SQL para PostgreSQL.

Cómo encriptar el tráfico de red

Se recomienda encriptar el tráfico de red entre la aplicación de Looker y tu base de datos. Considera una de las opciones que se describen en la página de documentación Habilita el acceso seguro a la base de datos.

Si te interesa usar el encriptado SSL, consulta la documentación de PostgreSQL.

Usuarios y seguridad

Para realizar acciones en tu base de datos, Looker debe tener una cuenta de usuario en ella.

Para configurar un usuario de base de datos para que Looker lo use, sigue estos pasos en tu base de datos:

  1. Crea un usuario y una contraseña de base de datos.

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. Otorga permisos al usuario de la base de datos para que Looker pueda realizar acciones en ella:

    GRANT CONNECT ON DATABASE DATABASE_NAME to USERNAME;
    \c DATABASE_NAME
    GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO USERNAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO USERNAME;
    
  3. Si usas un esquema que no sea public, ejecuta este comando para otorgar permisos de uso a Looker:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. Para asegurarte de que las tablas futuras que agregues al esquema público también estén disponibles para el usuario de Looker, ejecuta estos comandos:

    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO USERNAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO USERNAME;
    

Según tu configuración, es posible que debas modificar los comandos anteriores. Si otro usuario o rol crea tablas para las que el usuario de Looker necesita permisos futuros, debes especificar un rol o usuario objetivo para aplicar las concesiones de permisos del usuario de Looker:

ALTER DEFAULT PRIVILEGES FOR USER ANOTHER_USERNAME IN SCHEMA SCHEMA_NAME GRANT SELECT ON tables TO USERNAME;
ALTER DEFAULT PRIVILEGES FOR ROLE TARGET_ROLE IN SCHEMA SCHEMA_NAME GRANT SELECT ON sequences TO USERNAME;

Por ejemplo, si un usuario de web_app crea tablas y quieres que el usuario de looker pueda usarlas, debes ejecutar una instrucción GRANT para otorgarle permisos al usuario de looker en las tablas creadas por el usuario de web_app. En este caso, el rol o usuario objetivo es el usuario de web_app, lo que significa que quieres modificar los privilegios en las tablas creadas por web_app para que el usuario de looker pueda tener permisos para leer las tablas. A continuación, se muestra un ejemplo:

ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;

Consulta ALTER DEFAULT PRIVILEGES en el sitio web de PostgreSQL para obtener más información.

Configuración del esquema temporal

Postgres autoalojado

Crea un esquema que sea propiedad del usuario de Looker:

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Postgres en Amazon RDS

Crea un esquema de borrador:

CREATE SCHEMA SCHEMA_NAME;

Cambia la propiedad del esquema de borrador al usuario de Looker:

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

Cómo configurar search_path

Antes de conectar Looker a tu base de datos, debes configurar un search_path adecuado, que el Ejecutor de SQL de Looker pueda usar para recuperar ciertos metadatos de tu base de datos:

ALTER USER USERNAME SET search_path TO '$user',SCHEMA_NAME,SCHEMA_NAME_2,SCHEMA_NAME_3
                                                            ^^^^^^^^^^^^^^^^^^
                                                            ^^^^^^^^^^^^^^^^^^
                                             include a comma-separated list of
                                            all schemas that you'll use with Looker

Cómo crear la conexión de Looker a tu base de datos

Sigue estos pasos para crear la conexión de Looker a tu base de datos:

  1. Para abrir la página Conectar tu base de datos a Looker , haz una de las siguientes acciones:

    • Haz clic en el ícono del menú principal y selecciona Administrador y, luego, Conexiones en la sección Base de datos del panel Administrador. En la página Conexiones, haz clic en el botón Agregar conexión.
    • Haz clic en el botón Crear en el menú de navegación principal y, luego, selecciona el elemento de menú Conexión.
  2. En el menú desplegable Dialecto, selecciona el nombre del dialecto de tu base de datos:

    • Para Microsoft Azure PostgreSQL, selecciona Microsoft Azure PostgreSQL.
    • Para PostgreSQL, selecciona PostgreSQL 9.5+ o PostgreSQL pre-9.5, según tu versión de PostgreSQL.
    • Para Amazon RDS para PostgreSQL y Amazon Aurora PostgreSQL, selecciona PostgreSQL 9.5+.
  3. Completa los detalles de la conexión. La mayoría de los parámetros de configuración son comunes en la mayoría de los dialectos de bases de datos. Consulta la página de documentación Conecta Looker a tu base de datos para obtener más información.

  4. Para verificar que la conexión se realizó correctamente, haz clic en Probar. Consulta la página de documentación Prueba la conectividad de la base de datos para obtener información sobre la solución de problemas.

  5. Para guardar esta configuración, haz clic en Conectar.

Parámetros de JDBC admitidos

Para PostgreSQL, Looker admite los siguientes parámetros de JDBC en el campo Parámetros adicionales de JDBC para la conexión. Consulta la documentación de tu base de datos para obtener información sobre estos parámetros.

  • allowEncodingChanges
  • ApplicationName
  • assumeMinServerVersion
  • binaryTransfer
  • binaryTransferDisable
  • binaryTransferEnable
  • cancelSignalTimeout
  • connectTimeout
  • currentSchema
  • databaseMetadataCacheFields
  • defaultRowFetchSize
  • escapeSyntaxCallMode
  • gssEncMode
  • hostRecheckSeconds
  • jaasApplicationName
  • jaasLogin
  • kerberosServerName
  • loadBalanceHosts
  • loginTimeout
  • logServerErrorDetail
  • options
  • password
  • preferQueryMode
  • preparedStatementCacheQueries
  • prepareThreshold
  • queryTimeout
  • readOnly
  • reWriteBatchedInserts
  • socketTimeout
  • ssl
  • sslfactory
  • sslhostnameverifier
  • sslmode
  • sslNegotiation
  • sslpassword
  • sslpasswordcallback
  • stringtype
  • targetServerType
  • tcpKeepAlive
  • unknownLength
  • user

Compatibilidad de características

Para que Looker admita algunas funciones, el dialecto de tu base de datos también debe admitirlas.

PostgreSQL 9.5+ admite las siguientes funciones a partir de Looker 26.6:

Función ¿Es compatible?
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas persistentes basadas en SQL
Tablas derivadas persistentes nativas
Vistas estables
Eliminación de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distinción entre mayúsculas y minúsculas
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
Mostrar procesos del Ejecutor de SQL
Describir tabla del Ejecutor de SQL
Mostrar índices del Ejecutor de SQL
Seleccionar 10 del Ejecutor de SQL
Recuento del Ejecutor de SQL
Explicar SQL
Credenciales de OAuth 2.0
Comentarios contextuales
Agrupación de conexiones
Esbozos de HLL
Reconocimiento agregado
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
Medidas entre períodos
Distinción de recuento aproximado
Calendarios personalizados

Microsoft Azure PostgreSQL admite las siguientes funciones a partir de Looker 26.6:

Función ¿Es compatible?
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas persistentes basadas en SQL
Tablas derivadas persistentes nativas
Vistas estables
Eliminación de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distinción entre mayúsculas y minúsculas
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
Mostrar procesos del Ejecutor de SQL
Describir tabla del Ejecutor de SQL
Mostrar índices del Ejecutor de SQL
Seleccionar 10 del Ejecutor de SQL
Recuento del Ejecutor de SQL
Explicar SQL
Credenciales de OAuth 2.0
Comentarios contextuales
Agrupación de conexiones
Esbozos de HLL
Reconocimiento agregado
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
Medidas entre períodos
Distinción de recuento aproximado
Calendarios personalizados