Google Cloud SQL for PostgreSQL

Looker unterstützt Verbindungen zu Cloud SQL for PostgreSQL, einem vollständig verwalteten Datenbankdienst, mit dem Sie relationale PostgreSQL-Datenbanken in Google Cloud einrichten, pflegen und verwalten können Google Cloud.

Auf dieser Seite finden Sie eine Anleitung zum Herstellen einer Verbindung zu Cloud SQL for PostgreSQL von Looker aus.

Netzwerk-Datenverkehr verschlüsseln

Es empfiehlt sich, den Netzwerkverkehr zwischen Looker-Anwendung und Datenbank zu verschlüsseln. Informationen zu den Optionen finden Sie auf der Dokumentationsseite Sicheren Datenbankzugriff aktivieren.

Wenn Sie an der Verwendung von SSL-Verschlüsselung interessiert sind, informieren Sie sich in der PostgreSQL-Dokumentation.

Verbindung mit Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) herstellen

Für Looker (Google Cloud Core)-Instanzen werden Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) als Authentifizierungsmethode für Google Cloud SQL for PostgreSQL unterstützt. Wenn Sie ADC für Google Cloud SQL for PostgreSQL einrichten, müssen Sie die folgenden Schritte ausführen:

Die vollständige Anleitung finden Sie in der Looker (Google Cloud Core)-Dokumentation.

Benutzer und Sicherheit

Damit Looker Aktionen in Ihrer Datenbank ausführen kann, muss es ein Nutzerkonto in Ihrer Datenbank haben.

Wenn Sie eine Looker (Google Cloud Core)-Instanz verwenden und ADC nutzen möchten, verwenden Sie den Nutzernamen des Dienstkontos mit Identitätswechsel, 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 des Dienstkontos mit .gserviceaccount.com endet, entfernen Sie den .gserviceaccount.com. Nach dem Kürzen sieht der Nutzername so aus: service-<project number>@gcp-sa-looker.iam.

So konfigurieren Sie einen Datenbanknutzer für die Verwendung durch Looker:

  1. Erstellen Sie einen Datenbanknutzer und ein Passwort.

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. Erteilen 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 ein Looker-Nutzer künftige Berechtigungen benötigt, müssen Sie eine Zielrolle oder einen Nutzer festlegen, für die/den die Berechtigungen des Looker-Nutzers gelten 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 wurden. Die Zielrolle oder der Zielnutzer ist in diesem Fall der web_app-Nutzer. Das bedeutet, dass Sie die Berechtigungen für Tabellen ändern möchten, die von web_app erstellt wurden, damit der looker-Nutzer die Tabellen lesen kann. 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

Erstellen Sie ein Scratch-Schema:

CREATE SCHEMA SCHEMA_NAME;

Erteilen Sie dem Administratornutzer die Berechtigung, Mitglied der Nutzerrolle zu sein:

GRANT USERNAME TO ADMIN_USER;

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 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 that you'll use with Looker

Looker-Verbindung zu Ihrer Datenbank erstellen

So verbinden Sie Looker mit Ihrer Datenbank

  1. Öffnen Sie die Seite Datenbank mit Looker verbinden auf eine der folgenden Arten:

    • Klicken Sie auf das Menüsymbol Hauptmenü und wählen Sie Verwaltung aus. Wählen Sie dann im Bereich Datenbank des Verwaltungsbereichs die Option Verbindungen aus. Klicken Sie auf der Seite Verbindungen auf die Schaltfläche Verbindung hinzufügen.
    • Klicken Sie im Hauptnavigationsmenü auf die Schaltfläche Erstellen und wählen Sie dann das Menüelement Verbindung aus.
  2. Wählen Sie im Drop-down-Menü Dialekt die Option Google Cloud PostgreSQL aus.

  3. Füllen Sie die Verbindungsdetails aus. Der Großteil der Einstellungen ist für die meisten Datenbankdialekte gleich. 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ützung von Funktionen

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

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

Funktion Unterstützt?
Looker (Google Cloud Core)
Symmetrische Aggregate
Abgeleitete Tabellen
Persistente abgeleitete SQL-Tabellen
Persistente native abgeleitete Tabellen
Stabile Ansichten
Abfrageeabruch
SQL-basierte Pivottabellen
Zeitzonen
SSL
Zwischensummen
Zusätzliche JDBC-Parameter
Groß- und Kleinschreibung
Standorttyp
Listentyp
Perzentil
Perzentil der unterschiedlichen Werte
SQL Runner-Befehl – Prozesse anzeigen
SQL-Runner-Funktion – Tabelle beschreiben
SQL Runner-Befehl – Indexe anzeigen
SQL Runner-Befehl – 10 auswählen
SQL-Runner – Anzahl
SQL – Erklären
OAuth 2.0-Anmeldedaten
Kontextkommentare
Verbindungs-Pooling
HLL-Skizzen
Aggregate Awareness
Inkrementelle PDTs
Millisekunden
Mikrosekunden
Materialisierte Ansichten
Vergleich zum vorherigen Zeitraum
Ungefähre Anzahl einzelner Aufrufe
Benutzerdefinierte Kalender