PostgreSQL

Dialetti che utilizzano queste istruzioni

I seguenti dialetti condividono i requisiti di configurazione del database, come descritto in questa pagina:

  • PostgreSQL
  • Google Cloud SQL per PostgreSQL
  • PostgreSQL Microsoft Azure
  • AlloyDB per PostgreSQL
  • Amazon Aurora PostgreSQL
  • Amazon RDS per PostgreSQL

Per Google Cloud SQL per PostgreSQL, Looker (Google Cloud core) offre Credenziali predefinite dell'applicazione (ADC) come metodo di autenticazione. Per saperne di più, consulta la documentazione di Looker (Google Cloud core).

Per AlloyDB per PostgreSQL, Amazon RDS per PostgreSQL e Amazon Aurora PostgreSQL, Looker offre il supporto per l'integrazione. Per creare una connessione per questi dialetti, seleziona PostgreSQL 9.5 e versioni successive dall'elenco a discesa Dialetto nella pagina Nuova connessione.

Per PostgreSQL su Heroku, consulta la documentazione di Heroku.

Crittografia del traffico di rete in corso...

Una best practice consiste nel criptare il traffico di rete tra l'applicazione Looker e il tuo database. Prendi in considerazione una delle opzioni descritte nella pagina della documentazione Abilitazione dell'accesso sicuro al database.

Se vuoi utilizzare la crittografia SSL, consulta la documentazione di PostgreSQL.

Utenti e sicurezza

Per eseguire azioni sul database, Looker deve avere un account utente nel database.

Se utilizzi un'istanza Looker (Google Cloud core) e vuoi utilizzare ADC, utilizza il nome utente dell'account di servizio impersonato che hai aggiunto al database Cloud SQL. Il nome utente dell'account di servizio avrà il formato service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Se il nome utente del tuo account di servizio termina con .gserviceaccount.com, rimuovi la parte .gserviceaccount.com del nome utente. Se viene troncato, il nome utente sarà simile a service-<project number>@gcp-sa-looker.iam.

Per configurare un utente del database da utilizzare per Looker, segui questi passaggi sul database:

  1. Creare un utente e una password del database.

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. 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;
    
  3. 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;
    
  4. Per assicurarti che le tabelle future aggiunte allo schema pubblico siano disponibili anche per l'utente di 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 necessita di autorizzazioni future, devi specificare un ruolo target o un utente a cui applicare le autorizzazioni concesse dall'utente di Looker a:

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 sia in grado di utilizzarle, devi eseguire un'istruzione GRANT per concedere all'utente looker le autorizzazioni per le tabelle create dall'utente web_app. In questo caso, il ruolo o l'utente target è l'utente web_app, il che significa che vuoi modificare i privilegi nelle tabelle create da web_app in modo che l'utente looker possa avere le autorizzazioni necessarie per leggere le tabelle. Ecco un esempio:

ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;

Per saperne di più, consulta ALTER DEFAULT PRIVILEGES sul sito web di PostgreSQL.

Configurazione dello schema temporaneo

Postgres organizzato autonomamente

Crea uno schema di proprietà dell'utente di Looker:

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Postgres su Amazon RDS

Crea uno schema temporaneo:

CREATE SCHEMA SCHEMA_NAME;

Modifica la proprietà dello schema temporaneo con l'utente Looker:

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

Impostazione di search_path

Prima di connettere Looker al tuo database, devi impostare un valore search_path appropriato, che può essere utilizzato da Looker SQL Runner per recuperare determinati metadati dal tuo 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 you'll use with Looker

Creazione della connessione Looker al tuo database

Segui questi passaggi per creare la connessione da Looker al tuo database:

  1. Nella sezione Admin (Amministrazione) di Looker, seleziona Connections (Connessioni) e quindi fai clic su Add Connection (Aggiungi connessione).
  2. Dal menu a discesa Dialetto, seleziona il nome del dialetto del database. Per il dialetto AlloyDB per PostgreSQL, seleziona PostgreSQL 9.5 e versioni successive.

  3. Compila i dettagli della connessione. La maggior parte delle impostazioni è comune alla maggior parte dei dialetti dei database. Per informazioni, consulta la pagina della documentazione Collegamento di Looker al tuo database.

  4. Per verificare che la connessione sia andata a buon fine, fai clic su Test. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione relativa al test della connettività del database.

  5. Per salvare queste impostazioni, fai clic su Connetti.

Supporto delle funzionalità

Affinché Looker supporti alcune funzionalità, è necessario che anche il dialetto del tuo database le supporti.

PostgreSQL 9.5 e versioni successive supporta le seguenti funzionalità a partire da Looker 24.10:

Selezione delle Supportata?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate da SQL permanente
Tabelle derivate native permanenti
Viste stabili
Eliminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
Tipo di località
Tipo di elenco
Percentile
Percentile distinto
Processi SQL Runner Show
Tabella di descrizione di SQL Runner
SQL Runner Mostra indici
Selezione SQL Runner 10
Conteggio runner SQL
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling di connessioni
Schizzi HLL
No
Consapevolezza aggregata
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimato distinto
No

Google Cloud PostgreSQL supporta le seguenti funzionalità a partire da Looker 24.10:

Selezione delle Supportata?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate da SQL permanente
Tabelle derivate native permanenti
Viste stabili
Eliminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
Tipo di località
Tipo di elenco
Percentile
Percentile distinto
Processi SQL Runner Show
Tabella di descrizione di SQL Runner
SQL Runner Mostra indici
Selezione SQL Runner 10
Conteggio runner SQL
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling di connessioni
Schizzi HLL
No
Consapevolezza aggregata
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimato distinto
No

Microsoft Azure PostgreSQL supporta le seguenti funzionalità a partire da Looker 24.10:

Selezione delle Supportata?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate da SQL permanente
Tabelle derivate native permanenti
Viste stabili
Eliminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
Tipo di località
Tipo di elenco
Percentile
Percentile distinto
Processi SQL Runner Show
Tabella di descrizione di SQL Runner
SQL Runner Mostra indici
Selezione SQL Runner 10
Conteggio runner SQL
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling di connessioni
Schizzi HLL
No
Consapevolezza aggregata
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimato distinto
No