PostgreSQL

Dialekte, für die diese Anweisungen relevant sind

Für die folgenden Dialekte gelten die auf dieser Seite beschriebenen Anforderungen für die Einrichtung der Datenbank:

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

Für Google Cloud SQL for PostgreSQL bietet Looker (Google Cloud Core) Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) als Authentifizierungsmethode an. Weitere Informationen finden Sie in der Dokumentation zu Looker (Google Cloud Core).

Für AlloyDB for PostgreSQL, Amazon RDS for PostgreSQL und Amazon Aurora PostgreSQL bietet Looker Integrationsunterstützung. Wenn Sie eine Verbindung für diese Dialekte erstellen möchten, wählen Sie auf der Seite Neue Verbindung im Drop-down-Menü Dialekt die Option PostgreSQL 9.5 und höher aus.

Informationen zu PostgreSQL unter Heroku finden Sie in der Heroku-Dokumentation.

Netzwerkverkehr verschlüsseln

Es wird empfohlen, den Netzwerkverkehr zwischen der Looker-Anwendung und Ihrer Datenbank zu verschlüsseln. Prüfen Sie eine der Optionen, die auf der Dokumentationsseite Sicheren Datenbankzugriff ermöglichen beschrieben werden.

Wenn Sie an der Verwendung von SSL-Verschlüsselung interessiert sind, lesen Sie die PostgreSQL-Dokumentation.

Nutzer und Sicherheit

Damit Looker Aktionen in Ihrer Datenbank ausführen kann, benötigt es ein Nutzerkonto in Ihrer Datenbank.

Wenn Sie eine Looker-Instanz (Google Cloud Core) verwenden und Standardanmeldedaten für Anwendungen verwenden möchten, verwenden Sie den Nutzernamen des imitierten Dienstkontos, das Sie Ihrer Cloud SQL-Datenbank hinzugefügt haben. Der Nutzername des Dienstkontos hat das Format service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Wenn der Nutzername Ihres Dienstkontos auf .gserviceaccount.com endet, entfernen Sie den Teil .gserviceaccount.com aus dem Nutzernamen. Nach dem Kürzen würde der Nutzername so aussehen: service-<project number>@gcp-sa-looker.iam.

So konfigurieren Sie einen Datenbanknutzer für Looker:

  1. Erstellen Sie einen Datenbanknutzer und ein Passwort.

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. Gewähren Sie dem Datenbanknutzer Berechtigungen, damit Looker Aktionen in Ihrer Datenbank ausführen kann:

    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. Wenn Sie ein anderes Schema als public verwenden, führen Sie diesen Befehl aus, um Looker Nutzungsberechtigungen zu erteilen:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. Führen Sie die folgenden Befehle aus, damit künftige Tabellen, die Sie dem öffentlichen Schema hinzufügen, ebenfalls für Looker-Benutzer verfügbar sind:

    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO USERNAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO USERNAME;
    

Abhängig von Ihrer Einrichtung müssen vorangehende Befehle möglicherweise angepasst werden. Wenn ein anderer Nutzer oder eine andere Rolle Tabellen erstellt, für die der Looker-Nutzer in Zukunft Berechtigungen benötigt, müssen Sie eine Zielrolle oder einen Zielnutzer angeben, auf den die Berechtigungen des Looker-Nutzers angewendet werden sollen:

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;

Wenn ein web_app-Nutzer beispielsweise Tabellen erstellt und Sie möchten, dass der looker-Nutzer diese Tabellen verwenden kann, müssen Sie eine GRANT-Anweisung ausführen, um dem looker-Nutzer Berechtigungen für Tabellen zu erteilen, die vom web_app-Nutzer erstellt wurden. Die Zielrolle oder der Zielnutzer ist in diesem Fall der Nutzer web_app. Sie möchten also die Berechtigungen für Tabellen ändern, die von web_app erstellt wurden, damit der Nutzer looker Berechtigungen zum Lesen der Tabellen hat. Hier ein Beispiel:

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

Weitere Informationen finden Sie unter ALTER DEFAULT PRIVILEGES auf der PostgreSQL-Website.

Einrichtung eines temporären Schemas

Selbst gehostete Postgres

Erstellen Sie ein Schema, das dem Looker-Nutzer gehört:

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Postgres auf Amazon RDS

So erstellen Sie ein Scratch-Schema:

CREATE SCHEMA SCHEMA_NAME;

Machen Sie den Looker-Nutzer zum Eigentümer des Scratch-Schemas:

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

search_path einstellen

Bevor Sie Looker mit Ihrer Datenbank verbinden, sollten Sie eine geeignete search_path festlegen, über die der Looker SQL Runner bestimmte Metadaten aus Ihrer Datenbank abrufen kann:

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

Looker-Verbindung zu Ihrer Datenbank erstellen

So erstellen Sie die Verbindung von Looker zu Ihrer Datenbank:

  1. Wählen Sie in Looker im Bereich Verwaltung die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.
  2. Wählen Sie im Drop-down-Menü Dialekt den Namen des Datenbankdialekts aus. Wählen Sie als AlloyDB for PostgreSQL-Dialekt PostgreSQL 9.5 oder höher aus.

  3. Geben Sie die Verbindungsdetails ein. Der Großteil der Einstellungen gilt für die meisten Datenbankdialekte. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.

  4. Klicken Sie auf Testen, um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankkonnektivität testen.

  5. Klicken Sie auf Verbinden, um diese Einstellungen zu speichern.

Funktionsunterstützung

Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.

PostgreSQL 9.5 und höher unterstützt ab Looker 25.0 die folgenden Funktionen:

Feature Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Ja
Symmetrische Summen
Ja
Abgeleitete Tabellen
Ja
Persistente SQL-abgeleitete Tabellen
Ja
Nichtflüchtige native abgeleitete Tabellen
Ja
Stabile Ansichten
Ja
Abfrage beenden
Ja
SQL-basierte Pivot-Tabellen
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Ja
Zusätzliche JDBC-Parameter
Ja
Groß-/Kleinschreibung beachten
Ja
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Perzentil der unterschiedlichen Werte
Ja
SQL Runner-Prozesse anzeigen
Ja
SQL Runner Describe Table
Ja
SQL Runner-Indexe für Serien
Ja
SQL Runner Select 10
Ja
Anzahl der SQL-Runner
Ja
SQL Explain
Ja
OAuth-Anmeldedaten
Nein
Kontextkommentare
Ja
Verbindungs-Pooling
Ja
HLL-Skizzen
Nein
Aggregatfunktion
Ja
Inkrementelle PDTs
Ja
Millisekunden
Ja
Mikrosekunden
Ja
Materialisierte Ansichten
Nein
Ungefähre Anzahl einzelner Aufrufe
Nein

Google Cloud PostgreSQL unterstützt ab Looker 25.0 die folgenden Funktionen:

Feature Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Ja
Symmetrische Summen
Ja
Abgeleitete Tabellen
Ja
Persistente SQL-abgeleitete Tabellen
Ja
Nichtflüchtige native abgeleitete Tabellen
Ja
Stabile Ansichten
Ja
Abfrage beenden
Ja
SQL-basierte Pivot-Tabellen
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Ja
Zusätzliche JDBC-Parameter
Ja
Groß-/Kleinschreibung beachten
Ja
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Perzentil der unterschiedlichen Werte
Ja
SQL Runner-Prozesse anzeigen
Ja
SQL Runner Describe Table
Ja
SQL Runner-Indexe für Serien
Ja
SQL Runner Select 10
Ja
Anzahl der SQL-Runner
Ja
SQL Explain
Ja
OAuth-Anmeldedaten
Nein
Kontextkommentare
Ja
Verbindungs-Pooling
Ja
HLL-Skizzen
Nein
Aggregatfunktion
Ja
Inkrementelle PDTs
Ja
Millisekunden
Ja
Mikrosekunden
Ja
Materialisierte Ansichten
Nein
Ungefähre Anzahl einzelner Aufrufe
Nein

Microsoft Azure PostgreSQL unterstützt ab Looker 25.0 die folgenden Funktionen:

Feature Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Ja
Symmetrische Summen
Ja
Abgeleitete Tabellen
Ja
Persistente SQL-abgeleitete Tabellen
Ja
Nichtflüchtige native abgeleitete Tabellen
Ja
Stabile Ansichten
Ja
Abfrage beenden
Ja
SQL-basierte Pivot-Tabellen
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Ja
Zusätzliche JDBC-Parameter
Ja
Groß-/Kleinschreibung beachten
Ja
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Perzentil der unterschiedlichen Werte
Ja
SQL Runner-Prozesse anzeigen
Ja
SQL Runner Describe Table
Ja
SQL Runner-Indexe für Serien
Ja
SQL Runner Select 10
Ja
Anzahl der SQL-Runner
Ja
SQL Explain
Ja
OAuth-Anmeldedaten
Nein
Kontextkommentare
Ja
Verbindungs-Pooling
Ja
HLL-Skizzen
Nein
Aggregatfunktion
Ja
Inkrementelle PDTs
Ja
Millisekunden
Ja
Mikrosekunden
Ja
Materialisierte Ansichten
Nein
Ungefähre Anzahl einzelner Aufrufe
Nein