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 (núcleo de Google Cloud) 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 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

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 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 usas una instancia de Looker (núcleo de Google Cloud) y quieres 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 truncarlo, el nombre de usuario se verá como service-<project number>@gcp-sa-looker.iam.

Para configurar un usuario de la base de datos que pueda usar Looker, 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 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 deseas que el usuario looker pueda usarlas, debes ejecutar una sentencia GRANT para otorgarle permisos al usuario looker en 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 en blanco 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. Para el dialecto de AlloyDB para PostgreSQL, selecciona PostgreSQL 9.5 o versiones posteriores.

  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 Cómo probar 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 admite las siguientes funciones a partir de Looker 24.16:

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
Eliminación de consultas
Pivotes basados 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 de valores distintos
Cómo mostrar procesos en el Ejecutor de SQL
Tabla Describe de SQL Runner
Índices de Show de SQL Runner
Selección del ejecutor de SQL 10
Cantidad de Ejecutor de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios contextuales
Agrupación de conexiones
Bocetos de HLL
No
Aggregate Awareness
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Distinción de recuento aproximado
No

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

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
Eliminación de consultas
Pivotes basados 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 de valores distintos
Cómo mostrar procesos en el Ejecutor de SQL
Tabla Describe de SQL Runner
Índices de Show de SQL Runner
Selección del ejecutor de SQL 10
Cantidad de Ejecutor de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios contextuales
Agrupación de conexiones
Bocetos de HLL
No
Aggregate Awareness
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Distinción de recuento aproximado
No

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

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
Eliminación de consultas
Pivotes basados 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 de valores distintos
Cómo mostrar procesos en el Ejecutor de SQL
Tabla Describe de SQL Runner
Índices de Show de SQL Runner
Selección del ejecutor de SQL 10
Cantidad de Ejecutor de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios contextuales
Agrupación de conexiones
Bocetos de HLL
No
Aggregate Awareness
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Distinción de recuento aproximado
No