PostgreSQL

Dialetti che utilizzano queste istruzioni

I seguenti dialetti condividono i requisiti di configurazione del database descritti in questa pagina:

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

Per Google Cloud SQL per PostgreSQL, Looker (Google Cloud core) offre le 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 assistenza per l'integrazione. Per creare una connessione per questi dialetti, seleziona PostgreSQL 9.5 e versioni successive dal menu a discesa Dialetto nella pagina Nuova connessione.

Per PostgreSQL su Heroku, consulta la documentazione di Heroku.

Crittografia del traffico di rete

È buona prassi criptare il traffico di rete tra l'applicazione Looker e il database. Valuta la possibilità di utilizzare una delle opzioni descritte nella pagina della documentazione Abilitare l'accesso sicuro ai database.

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

Utenti e sicurezza

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

Se utilizzi un'istanza Looker (Google Cloud core) e vuoi utilizzare l'ADC, utilizza il nome utente dell'account di servizio sostituito 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 dell'account di servizio termina con .gserviceaccount.com, rimuovi la parte .gserviceaccount.com del nome utente. Dopo il troncamento, il nome utente avrà il seguente aspetto: service-<project number>@gcp-sa-looker.iam.

Per configurare un utente del database da utilizzare da parte di Looker, svolgi i seguenti passaggi nel database:

  1. Crea 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 tuo 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 a Looker le autorizzazioni di utilizzo:

    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 di Looker ha bisogno di autorizzazioni future, devi specificare un ruolo o un utente target a cui applicare le concessioni di autorizzazione dell'utente di 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 web_app possa utilizzarle, devi eseguire un'istruzione GRANT per concedere all'utente web_app le autorizzazioni per le tabelle create dall'utente web_app.lookerlooker 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 web_app possa avere le autorizzazioni per leggere le tabelle.looker 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

Postgres self-hosted

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

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Postgres su Amazon RDS

Crea uno schema da zero:

CREATE SCHEMA SCHEMA_NAME;

Modifica la proprietà dello schema scratch per l'utente di Looker:

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

Impostazione del search_path

Prima di connettere Looker al tuo database, devi impostare un search_path appropriato, che Looker SQL Runner può utilizzare 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 di Looker al database

Per creare la connessione da Looker al database:

  1. Nella sezione Amministrazione di Looker, seleziona Connessioni e poi fai clic su 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 di database. Per informazioni, consulta la pagina della documentazione Connessione 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 Testare la connettività del database.

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

Funzionalità supportate

Affinché Looker supporti alcune funzionalità, anche il dialetto del database deve supportarle.

PostgreSQL 9.5 e versioni successive supportano le seguenti funzionalità a partire da Looker 24.20:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Interruzioni 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 di visualizzazione di SQL Runner
Tabella Describe di SQL Runner
Indici di SQL Runner Show
SQL Runner Select 10
Conteggio di SQL Runner
SQL Explain
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
Schizzi HLL
No
Aggregate Awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo valori distinti
No

A partire da Looker 24.20, Google Cloud PostgreSQL supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Interruzioni 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 di visualizzazione di SQL Runner
Tabella Describe di SQL Runner
Indici di SQL Runner Show
SQL Runner Select 10
Conteggio di SQL Runner
SQL Explain
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
Schizzi HLL
No
Aggregate Awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo valori distinti
No

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

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Interruzioni 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 di visualizzazione di SQL Runner
Tabella Describe di SQL Runner
Indici di SQL Runner Show
SQL Runner Select 10
Conteggio di SQL Runner
SQL Explain
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
Schizzi HLL
No
Aggregate Awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo valori distinti
No