Looker admite conexiones a Cloud SQL para PostgreSQL, un servicio de bases de datos completamente administrado que te ayuda a configurar, mantener, controlar y administrar las bases de datos relacionales de PostgreSQL en Google Cloud.
En esta página, se proporcionan las instrucciones para conectarse a Cloud SQL para PostgreSQL desde Looker.
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 la base de datos.
Si te interesa usar el encriptado SSL, consulta la documentación de PostgreSQL.
Conéctate con las credenciales predeterminadas de la aplicación (ADC)
En el caso de las instancias de Looker (Google Cloud Core), las credenciales predeterminadas de la aplicación (ADC) se admiten como método de autenticación para Google Cloud SQL para PostgreSQL. Cuando configuras ADC para Google Cloud SQL para PostgreSQL, debes realizar los siguientes procedimientos:
- Agrega la cuenta de servicio suplantada a tu base de datos de Cloud SQL.
- Configura la suplantación de la cuenta de servicio en tu base de datos de Cloud SQL.
- Ejecuta comandos de configuración adicionales para Cloud SQL para PostgreSQL.
Consulta la documentación de Looker (Google Cloud Core) para conocer el procedimiento completo.
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 quieres usar 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 la 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 base de datos para que lo use Looker, sigue estos pasos en tu base de datos:
Crea un usuario y una contraseña de la base de datos.
CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';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;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;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
Crea un esquema de borrador:
CREATE SCHEMA SCHEMA_NAME;
Otorga al usuario administrador la membresía del rol de usuario:
GRANT USERNAME TO ADMIN_USER;
Cambia la propiedad del esquema de borrador al usuario de Looker:
ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;
Configura search_path
Antes de conectar Looker a tu base de datos, debes establecer 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
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:
Para abrir la página Conecta 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.
En el menú desplegable Dialecto, selecciona Google Cloud PostgreSQL.
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.
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.
Para guardar esta configuración, haz clic en Conectar.
Parámetros de JDBC admitidos
En el caso de Google Cloud SQL 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.
allowEncodingChangesApplicationNameassumeMinServerVersionbinaryTransferbinaryTransferDisablebinaryTransferEnablecancelSignalTimeoutconnectTimeoutcurrentSchemadatabaseMetadataCacheFieldsdefaultRowFetchSizeescapeSyntaxCallModegssEncModehostRecheckSecondsjaasApplicationNamejaasLoginkerberosServerNameloadBalanceHostsloginTimeoutlogServerErrorDetailoptionspasswordpreferQueryModepreparedStatementCacheQueriesprepareThresholdqueryTimeoutreadOnlyreWriteBatchedInsertssocketTimeoutsslsslfactorysslhostnameverifiersslmodesslNegotiationsslpasswordsslpasswordcallbackstringtypetargetServerTypetcpKeepAliveunknownLengthuser
Compatibilidad de características
Para que Looker admita algunas funciones, el dialecto de tu base de datos también debe admitirlas.
Google Cloud 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 |