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 Integrationssupport. Um für diese Dialekte eine Verbindung zu erstellen, wählen Sie auf der Seite Neue Verbindung im Drop-down-Menü Dialekt die Option PostgreSQL 9.5+ aus.

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

Netzwerk-Datenverkehr verschlüsseln

Es empfiehlt sich, 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 die SSL-Verschlüsselung verwenden möchten, 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 sich auf einer Looker-Instanz (Google Cloud Core) befinden und ADC verwenden möchten, verwenden Sie den Nutzernamen des Dienstkontos, für den Sie die Identität des Dienstkontos übernommen haben, den 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 Datenbankbenutzer Berechtigungen, damit Looker Aktionen für Ihre 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 den folgenden Befehl aus, um Looker Nutzungsberechtigungen zu gewähren:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. Führen Sie die folgenden Befehle aus, damit zukünftige Tabellen, die Sie dem öffentlichen Schema hinzufügen, auch für den 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 beispielsweise ein web_app-Nutzer 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 werden. 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, mit dem der SQL-Runner von Looker 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

Führen Sie die folgenden Schritte aus, um die Verbindung von Looker zu Ihrer Datenbank herzustellen:

  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 für den AlloyDB for PostgreSQL-Dialekt PostgreSQL 9.5+ 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 Datenbankverbindung testen.

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

Unterstützte Funktionen

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.10 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
Anfrage wird abgebrochen
Ja
SQL-basierte Drehpunkte
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Ja
Zusätzliche JDBC-Parameter
Ja
Groß-/Kleinschreibung beachten
Ja
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Unterschiedliches Perzentil
Ja
SQL Runner – Prozesse anzeigen
Ja
SQL Runner – Tabelle beschreiben
Ja
SQL Runner – Indexe anzeigen
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 Ansicht
Nein
Ungefähre Anzahl einzelner
Nein

Google Cloud PostgreSQL unterstützt ab Looker 24.10 die folgenden Features:

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
Anfrage wird abgebrochen
Ja
SQL-basierte Drehpunkte
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Ja
Zusätzliche JDBC-Parameter
Ja
Groß-/Kleinschreibung beachten
Ja
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Unterschiedliches Perzentil
Ja
SQL Runner – Prozesse anzeigen
Ja
SQL Runner – Tabelle beschreiben
Ja
SQL Runner – Indexe anzeigen
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 Ansicht
Nein
Ungefähre Anzahl einzelner
Nein

Microsoft Azure PostgreSQL unterstützt ab Looker 24.10 die folgenden Features:

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
Anfrage wird abgebrochen
Ja
SQL-basierte Drehpunkte
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Ja
Zusätzliche JDBC-Parameter
Ja
Groß-/Kleinschreibung beachten
Ja
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Unterschiedliches Perzentil
Ja
SQL Runner – Prozesse anzeigen
Ja
SQL Runner – Tabelle beschreiben
Ja
SQL Runner – Indexe anzeigen
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 Ansicht
Nein
Ungefähre Anzahl einzelner
Nein