PostgreSQL

Dialekte, für die diese Anweisungen relevant sind

Für die folgenden Dialekte gelten die auf dieser Seite beschriebenen Anforderungen für die Datenbankeinrichtung:

  • 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 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.

Netzwerk-Datenverkehr verschlüsseln

Es wird empfohlen, den Netzwerkverkehr zwischen der Looker-Anwendung und Ihrer Datenbank zu verschlüsseln. Sehen Sie sich eine der Optionen an, die auf der Dokumentationsseite Sicheren Datenbankzugriff aktivieren beschrieben werden.

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

Benutzer und Sicherheit

Um Aktionen mit Ihrer Datenbank ausführen zu können, benötigt Looker ein Benutzerkonto 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 deines Dienstkontos auf .gserviceaccount.com endet, entferne den .gserviceaccount.com-Teil des Nutzernamens. Danach sieht der Nutzername so aus: service-<project number>@gcp-sa-looker.iam.

Führen Sie die folgenden Schritte für Ihre Datenbank aus, um einen Datenbankbenutzer zu konfigurieren, den Looker verwenden soll:

  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 zukünftige Berechtigungen benötigt, müssen Sie eine Zielrolle oder einen Nutzer angeben, auf den die vom Looker-Nutzer gewährten Berechtigungen 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 werden, sodass der looker-Nutzer zum Lesen der Tabellen berechtigt ist. Hier ein Beispiel:

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

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

Einrichtung eines temporären Schemas

Selbst gehostete Postgres

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

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Postgres auf Amazon RDS

Erstellen Sie ein Scratch-Schema:

CREATE SCHEMA SCHEMA_NAME;

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

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

search_path festlegen

Bevor Sie Looker mit Ihrer Datenbank verbinden, sollten Sie einen geeigneten search_path festlegen, über den 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 Admin die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.
  2. Wählen Sie im Drop-down-Menü Dialekt den Namen Ihres Datenbankdialekts aus. Wählen Sie als AlloyDB for PostgreSQL-Dialekt PostgreSQL 9.5 oder höher aus.

  3. Geben Sie die Verbindungsdetails ein. Die meisten Einstellungen sind den meisten Datenbankdialekten gemeinsam. 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+ unterstützt ab Looker 24.18 die folgenden Funktionen:

Funktion 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
Anfrage abbrechen
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
Nein

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

Funktion 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
Anfrage abbrechen
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
Nein

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

Funktion 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
Anfrage abbrechen
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
Nein