Looker supporta le connessioni a Cloud SQL per PostgreSQL, un servizio di database completamente gestito che ti aiuta a configurare, mantenere, gestire e amministrare i database relazionali PostgreSQL su Google Cloud.
Questa pagina fornisce le istruzioni per la connessione a Cloud SQL per PostgreSQL da Looker.
Criptare il traffico di rete
È una best practice criptare il traffico di rete tra l'applicazione Looker e il tuo database. Valuta una delle opzioni descritte nella pagina della documentazione Abilita l'accesso sicuro ai database.
Se ti interessa utilizzare la crittografia SSL, consulta la documentazione di PostgreSQL.
Connettersi utilizzando le Credenziali predefinite dell'applicazione (ADC)
Per le istanze di Looker (Google Cloud core), le Credenziali predefinite dell'applicazione (ADC) sono supportate come metodo di autenticazione per Google Cloud SQL per PostgreSQL. Quando configuri ADC per Google Cloud SQL per PostgreSQL, devi eseguire le seguenti procedure:
- Aggiungi il account di servizio con rappresentazione all'istanza di database Cloud SQL
- Configura la simulazione dell'identità dei account di servizio nel database Cloud SQL
- Esegui comandi di configurazione aggiuntivi per Cloud SQL per PostgreSQL
Per la procedura completa, consulta la documentazione di Looker (Google Cloud core).
Utenti e sicurezza
Per eseguire azioni sul database, Looker deve avere un account utente sul database.
Se utilizzi un'istanza di Looker (Google Cloud core) e vuoi utilizzare ADC, usa il nome utente del account di servizio con rappresentazione che hai aggiunto al database Cloud SQL. Il nome utente del account di servizio avrà il formato service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Se il nome utente del account di servizio termina con .gserviceaccount.com, rimuovi la parte .gserviceaccount.com del nome utente. Dopo il troncamento, il nome utente sarà simile a service-<project number>@gcp-sa-looker.iam.
Per configurare un utente del database da utilizzare per Looker, esegui i seguenti passaggi sul database:
Crea un utente e una password del database.
CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';Concedi le autorizzazioni all'utente del database in modo che Looker possa eseguire azioni sul database:
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;Se utilizzi uno schema diverso da
public, esegui questo comando per concedere le autorizzazioni di utilizzo a Looker:GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;Per assicurarti che le tabelle future che aggiungi allo schema pubblico siano disponibili anche per l'utente Looker, esegui questi comandi:
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO USERNAME; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO USERNAME;
A seconda della configurazione, potrebbe essere necessario modificare i comandi precedenti. Se un altro utente o ruolo sta creando tabelle per le quali l'utente Looker avrà bisogno di autorizzazioni future, devi specificare un ruolo o un utente di destinazione a cui applicare le concessioni di autorizzazioni dell'utente 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;
Ad esempio, se un utente web_app crea tabelle e vuoi che l'utente looker possa utilizzare queste tabelle, devi eseguire un'istruzione GRANT per concedere all'utente looker le autorizzazioni sulle tabelle create dall'utente web_app. In questo caso, il ruolo o l'utente di destinazione è l'utente web_app, il che significa che vuoi modificare i privilegi sulle tabelle create da web_app in modo che l'utente looker possa avere le autorizzazioni per leggere le tabelle. Ecco un esempio:
ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;
Per ulteriori informazioni, consulta ALTER DEFAULT PRIVILEGES sul sito web di PostgreSQL.
Configurazione dello schema temporaneo
Crea uno schema temporaneo:
CREATE SCHEMA SCHEMA_NAME;
Concedi all'utente amministratore l'appartenenza al ruolo utente:
GRANT USERNAME TO ADMIN_USER;
Modifica la proprietà dello schema temporaneo in modo che appartenga all'utente Looker:
ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;
Impostare search_path
Prima di connettere Looker al database, devi impostare un search_path appropriato, che SQL Runner di Looker può utilizzare per recuperare determinati metadati dal database:
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
Creare la connessione Looker al database
Segui questi passaggi per creare la connessione da Looker al database:
Apri la pagina Connetti il tuo database a Looker in uno dei seguenti modi:
- Fai clic sull'icona del menu Menu principale e seleziona Amministrazione, quindi seleziona Connessioni dalla sezione Database nel riquadro Amministrazione. Nella pagina Connessioni, fai clic sul pulsante Aggiungi connessione.
- Fai clic sul pulsante Crea nel menu di navigazione principale, quindi seleziona la voce di menu Connessione.
Dal menu a discesa Dialetto, seleziona Google Cloud PostgreSQL.
Compila i dettagli della connessione. La maggior parte delle impostazioni è comune alla maggioranza dei dialetti di database. Per ulteriori informazioni, consulta la pagina della documentazione Connessione di Looker al tuo database.
Per verificare che la connessione sia riuscita, fai clic su Test. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione Testare la connettività del database.
Per salvare queste impostazioni, fai clic su Connetti.
Funzionalità supportate
Affinché Looker supporti alcune funzionalità, anche il dialetto del database deve supportarle.
A partire da Looker 26.6, Google Cloud PostgreSQL supporta le seguenti funzionalità:
| Funzionalità | Supportata? |
|---|---|
| Looker (Google Cloud core) | |
| Aggregati simmetrici | |
| Tabelle derivate | |
| Tabelle derivate SQL permanenti | |
| Tabelle derivate permanenti native | |
| Visualizzazioni stabili | |
| Terminazione delle query | |
| Pivot basati su SQL | |
| Fusi orari | |
| SSL | |
| Subtotali | |
| Parametri JDBC aggiuntivi | |
| Maiuscole/minuscole | |
| Tipo di località | |
| Tipo di elenco | |
| Percentile | |
| Percentile valori distinti | |
| SQL Runner Mostra processi | |
| SQL Runner Descrivi tabella | |
| SQL Runner Mostra indici | |
| SQL Runner Seleziona 10 | |
| SQL Runner Count | |
| Spiega SQL | |
| Credenziali OAuth 2.0 | |
| Commenti di contesto | |
| Pool di connessioni | |
| Schizzi HLL | |
| Riconoscimento degli aggregati | |
| PDT incrementali | |
| Millisecondi | |
| Microsecondi | |
| Viste materializzate | |
| Misure in base al periodo | |
| Conteggio approssimato valori distinti | |
| Calendari personalizzati |