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
  • Google Cloud SQL para PostgreSQL
  • Microsoft Azure PostgreSQL
  • AlloyDB para PostgreSQL
  • Amazon Aurora PostgreSQL
  • Amazon RDS para PostgreSQL

En el caso de Google Cloud SQL para PostgreSQL, Looker (Google Cloud Core) ofrece las credenciales predeterminadas de la aplicación (ADC) como método de autenticación. Consulta la documentación de Looker (Google Cloud Core) para obtener más información.

En el caso de AlloyDB para PostgreSQL, Amazon RDS para PostgreSQL y Amazon Aurora PostgreSQL, Looker tiene compatibilidad con la integración. Para crear una conexión para estos dialectos, selecciona PostgreSQL 9.5+ en el menú desplegable Dialect de la página New Connection.

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

Encriptación del 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 Cómo habilitar el acceso seguro a la base de datos.

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

Usuarios y seguridad

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

Si estás en una instancia de Looker (Google Cloud Core) y deseas usar las ADC, usa el nombre de usuario de la cuenta de servicio suplantada que agregaste a tu base de datos de Cloud SQL. El nombre de usuario de la cuenta de servicio tendrá el formato service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Si el nombre de usuario de tu cuenta de servicio termina con .gserviceaccount.com, quita la parte .gserviceaccount.com del nombre de usuario. Después de truncarse, el nombre de usuario se vería como service-<project number>@gcp-sa-looker.iam.

Para configurar un usuario de la base de datos que Looker pueda usar, sigue estos pasos en tu base de datos:

  1. Crea un usuario y una contraseña para la 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 en el futuro, 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 web_app crea tablas y quieres que el usuario looker pueda usar esas tablas, debes ejecutar una instrucción GRANT para otorgarle permisos al usuario looker sobre las tablas que creó el usuario web_app. En este caso, el rol o usuario objetivo es el usuario web_app, lo que significa que deseas modificar los privilegios en las tablas creadas por web_app para que el usuario 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 de temperatura

Postgres autoalojado

Crea un esquema propiedad del usuario de Looker:

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Postgres en Amazon RDS

Crea un esquema temporal:

CREATE SCHEMA SCHEMA_NAME;

Cambia la propiedad del esquema de prueba 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 establecer un search_path adecuado, que el SQL Runner de Looker puede 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 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. En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.
  2. En el menú desplegable Dialect, selecciona el nombre del dialecto de tu base de datos. Para el dialecto de AlloyDB para 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 Cómo conectar Looker a tu base de datos para obtener más información.

  4. Para verificar que la conexión se haya realizado 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.

Compatibilidad de características

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

A partir de Looker 25.10, PostgreSQL 9.5 y versiones posteriores admiten las siguientes funciones:

Función ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas persistentes basadas en SQL
Tablas derivadas persistentes nativas
Vistas estables
Cancelació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
Ejecutor de SQL: Mostrar procesos
Ejecutor de SQL: Describe la tabla
Ejecutor de SQL: Mostrar índices
Seleccionar 10 en el Ejecutor de SQL
Recuento del Ejecutor de SQL
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Agrupación de conexiones
Esbozos de HLL
No
Conocimiento total
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Medidas de comparación entre períodos
No
Distinción de recuento aproximado
No

A partir de Looker 25.10, Google Cloud PostgreSQL admite las siguientes funciones:

Función ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas persistentes basadas en SQL
Tablas derivadas persistentes nativas
Vistas estables
Cancelació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
Ejecutor de SQL: Mostrar procesos
Ejecutor de SQL: Describe la tabla
Ejecutor de SQL: Mostrar índices
Seleccionar 10 en el Ejecutor de SQL
Recuento del Ejecutor de SQL
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Agrupación de conexiones
Esbozos de HLL
No
Conocimiento total
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Medidas de comparación entre períodos
No
Distinción de recuento aproximado
No

A partir de Looker 25.10, Microsoft Azure PostgreSQL admite las siguientes funciones:

Función ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas persistentes basadas en SQL
Tablas derivadas persistentes nativas
Vistas estables
Cancelació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
Ejecutor de SQL: Mostrar procesos
Ejecutor de SQL: Describe la tabla
Ejecutor de SQL: Mostrar índices
Seleccionar 10 en el Ejecutor de SQL
Recuento del Ejecutor de SQL
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Agrupación de conexiones
Esbozos de HLL
No
Conocimiento total
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Medidas de comparación entre períodos
No
Distinción de recuento aproximado
No