PostgreSQL

Dialectos que usan estas instrucciones

Los siguientes dialectos comparten los requisitos de configuración de la base de datos como se describe 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 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 AlloyDB para PostgreSQL, Amazon RDS para PostgreSQL y Amazon Aurora PostgreSQL, Looker tiene asistencia de integración. Si quieres crear una conexión para estos dialectos, selecciona PostgreSQL 9.5+ en el menú desplegable Dialec en la página Conexión nueva.

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

Encripta el tráfico de red

Una práctica recomendada es 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 bases 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 debe tener una cuenta de usuario en ella.

Si estás en una instancia de Looker (Google Cloud Core) y quieres usar ADC, usa el nombre de usuario de la cuenta de servicio con identidad 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 en .gserviceaccount.com, quita la parte .gserviceaccount.com del nombre de usuario. Después de que se trunque, el nombre de usuario se vería así: service-<project number>@gcp-sa-looker.iam.

Si deseas 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 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 distinto de public, ejecuta este comando para otorgar permisos de uso a Looker:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. A fin de 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 los comandos anteriores deban modificarse. Si otro usuario o rol crea tablas para las que el usuario de Looker necesita permisos futuros, debes especificar un rol o usuario objetivo al que se le apliquen los permisos del usuario de Looker para lo siguiente:

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 usarlas, debes ejecutar una sentencia GRANT para otorgarle permisos al usuario looker sobre las tablas que crea el usuario web_app. El rol o usuario objetivo en este caso es el usuario web_app, lo que significa que deseas modificar los privilegios de las tablas que crea web_app para que el usuario looker tenga 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 temporal:

CREATE SCHEMA SCHEMA_NAME;

Cambia la propiedad del esquema temporal al usuario de Looker:

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

Configura el search_path

Antes de conectar Looker a tu base de datos, debes configurar un search_path apropiado, que el ejecutor de SQL 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

Crea 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 Dialecto, selecciona el nombre de dialecto de tu base de datos. En el dialecto 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 a 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 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, el dialecto de la base de datos también debe admitirlas.

PostgreSQL 9.5 y versiones posteriores admiten las siguientes funciones a partir de Looker 24.10:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistente
Tablas derivadas persistentes nativas
Vistas estables
Cierre de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue mayúsculas de minúsculas
Tipo de ubicación
Tipo de lista
Percentil
Percentil distintivo
Procesos de presentación del ejecutor de SQL
Tabla de descripción del ejecutor de SQL
Índices de programas del ejecutor de SQL
Selección del ejecutor de SQL 10
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios contextuales
Agrupación de conexiones
Bocetos de HLL
No
Reconocimiento agregado
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Recuento aproximado de valores distintos
No

Google Cloud PostgreSQL admite las siguientes funciones a partir de Looker 24.10:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistentes
Tablas derivadas persistentes nativas
Vistas estables
Cierre de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue mayúsculas de minúsculas
Tipo de ubicación
Tipo de lista
Percentil
Percentil distintivo
Procesos de presentación del ejecutor de SQL
Tabla de descripción del ejecutor de SQL
Índices de programas del ejecutor de SQL
Selección del ejecutor de SQL 10
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios contextuales
Agrupación de conexiones
Bocetos de HLL
No
Reconocimiento agregado
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Recuento aproximado de valores distintos
No

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

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistentes
Tablas derivadas persistentes nativas
Vistas estables
Cierre de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue mayúsculas de minúsculas
Tipo de ubicación
Tipo de lista
Percentil
Percentil distintivo
Procesos de presentación del ejecutor de SQL
Tabla de descripción del ejecutor de SQL
Índices de programas del ejecutor de SQL
Selección del ejecutor de SQL 10
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios contextuales
Agrupación de conexiones
Bocetos de HLL
No
Reconocimiento agregado
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Recuento aproximado de valores distintos
No