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 il supporto dell'integrazione. Per creare una connessione per questi dialetti, seleziona PostgreSQL 9.5+ dal menu a discesa Dialetto nella pagina Nuova connessione.

Per PostgreSQL su Heroku, consulta la documentazione di Heroku.

Crittografia del 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 Abilitare l'accesso sicuro ai database.

Se ti interessa utilizzare la crittografia SSL, consulta la documentazione di PostgreSQL.

Utenti e sicurezza

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

Se utilizzi un'istanza Looker (Google Cloud core) e vuoi utilizzare ADC, utilizza il nome utente dell'account di servizio rappresentato 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 avrà l'aspetto seguente: service-<project number>@gcp-sa-looker.iam.

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

  1. Crea un utente del database e una password.

    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 le autorizzazioni di utilizzo a Looker:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. Per assicurarti che anche le tabelle future che aggiungi allo schema pubblico siano disponibili 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 ha bisogno di autorizzazioni future, devi specificare un ruolo o un utente di destinazione a cui applicare le concessioni di autorizzazione 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 utilizzarle, devi eseguire un'istruzione GRANT per concedere all'utente looker le autorizzazioni sulle tabelle create dall'utente web_app. Il ruolo o l'utente di destinazione in questo caso è 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 saperne di più, consulta ALTER DEFAULT PRIVILEGES sul sito web di PostgreSQL.

Configurazione dello schema temporaneo

Postgres self-hosted

Crea uno schema di proprietà dell'utente Looker:

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

PostgreSQL su Amazon RDS

Crea uno schema scratch:

CREATE SCHEMA SCHEMA_NAME;

Modifica la proprietà dello schema temporaneo all'utente 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 SQL Runner di Looker 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 Looker al tuo database

Segui questi passaggi per creare la connessione da Looker al tuo 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 tuo database. Per il dialetto AlloyDB per PostgreSQL, seleziona PostgreSQL 9.5+.

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

  4. Per verificare che la connessione sia riuscita, fai clic su Testa. 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.

A partire da Looker 25.10, PostgreSQL 9.5+ supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate permanenti basate su SQL
Tabelle derivate native permanenti
Visualizzazioni stabili
Terminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri JDBC aggiuntivi
Sensibile alle maiuscole
Tipo di località
Tipo di elenco
Percentile
Percentile valori distinti
SQL Runner Show Processes
SQL Runner Describe Table
SQL Runner Show Indexes
SQL Runner Select 10
Conteggio SQL Runner
SQL Explain
Credenziali OAuth 2.0
No
Commenti contestuali
Pool di connessioni
Sketch HLL
No
Aggregate awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Misure di periodo in periodo
No
Conteggio approssimativo dei valori distinti
No

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

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate permanenti basate su SQL
Tabelle derivate native permanenti
Visualizzazioni stabili
Terminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri JDBC aggiuntivi
Sensibile alle maiuscole
Tipo di località
Tipo di elenco
Percentile
Percentile valori distinti
SQL Runner Show Processes
SQL Runner Describe Table
SQL Runner Show Indexes
SQL Runner Select 10
Conteggio SQL Runner
SQL Explain
Credenziali OAuth 2.0
No
Commenti contestuali
Pool di connessioni
Sketch HLL
No
Aggregate awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Misure di periodo in periodo
No
Conteggio approssimativo dei valori distinti
No

A partire da Looker 25.10, Microsoft Azure PostgreSQL supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate permanenti basate su SQL
Tabelle derivate native permanenti
Visualizzazioni stabili
Terminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri JDBC aggiuntivi
Sensibile alle maiuscole
Tipo di località
Tipo di elenco
Percentile
Percentile valori distinti
SQL Runner Show Processes
SQL Runner Describe Table
SQL Runner Show Indexes
SQL Runner Select 10
Conteggio SQL Runner
SQL Explain
Credenziali OAuth 2.0
No
Commenti contestuali
Pool di connessioni
Sketch HLL
No
Aggregate awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Misure di periodo in periodo
No
Conteggio approssimativo dei valori distinti
No