Google Cloud SQL for PostgreSQL

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

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

Netzwerk-Datenverkehr verschlüsseln

Es empfiehlt sich, den Netzwerkverkehr zwischen Looker-Anwendung und 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, informieren Sie sich in der Dokumentation zu PostgreSQL.

Verbindung über 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 Standardanmeldedaten für Anwendungen für Google Cloud SQL for PostgreSQL einrichten, müssen Sie die folgenden Verfahren ausführen:

Das vollständige Verfahren finden Sie in der Dokumentation zu Looker (Google Cloud Core).

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 angenommenen Dienstkontos, den Sie Ihrer Cloud SQL-Datenbank hinzugefügt haben. Der Nutzername des Dienstkontos hat das Format service-<project number>@gcp-sa-looker.. Wenn der Nutzername Ihres Dienstkontos auf . endet, entfernen Sie den Teil . des Nutzernamens. Nach dem Kürzen sieht der Nutzername so aus: service-<project number>@gcp-sa-looker.iam.

Führen Sie die folgenden Schritte in Ihrer Datenbank aus, um einen Datenbanknutzer für Looker zu konfigurieren:

  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 der Looker-Nutzer in Zukunft Berechtigungen benötigt, müssen Sie eine Zielrolle oder einen Zielnutzer angeben, auf die 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 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 Nutzer web_app. Das bedeutet, dass Sie die Berechtigungen für Tabellen ändern möchten, die von web_app erstellt wurden, damit der Nutzer looker die Berechtigung 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 auf der PostgreSQL-Website unter ALTER DEFAULT PRIVILEGES.

Einrichtung eines temporären Schemas

Erstellen Sie ein Scratch-Schema:

CREATE SCHEMA SCHEMA_NAME;

Weisen Sie dem Administrator die Nutzerrolle zu:

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, über den 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 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. Gehen Sie dazu so vor:

    • Klicken Sie auf das Symbol Hauptmenü, wählen Sie Admin aus und wählen Sie dann im Bereich Datenbank des Bereichs Admin die Option Verbindungen aus. Klicken Sie auf der Seite Verbindungen auf den Button Verbindung hinzufügen.
    • Klicken Sie im Hauptnavigationsmenü auf den Button Erstellen und wählen Sie dann den Menüpunkt Verbindung aus.
  2. Wählen Sie im Drop-down-Menü Dialekt die Option Google Cloud PostgreSQL aus.

  3. Geben Sie die Verbindungsdetails ein. 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 unten auf der Seite Verbindungseinstellungen im Bereich Statusdetails auf den Button Verbindung testen, um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde.

  5. Wenn Looker Can Connect anzeigt, klicken Sie auf Connect, um die Verbindung zu erstellen.

Ihre Datenbankverbindung wird dann der Liste auf der Looker-Seite Verbindungen Verwaltung hinzugefügt.

Unterstützte JDBC-Parameter

Für Google Cloud SQL for PostgreSQL unterstützt Looker die folgenden JDBC-Parameter im Feld Zusätzliche JDBC-Parameter für die Verbindung. Informationen zu diesen Parametern finden Sie in der Dokumentation zu Ihrer Datenbank.

  • allowEncodingChanges
  • ApplicationName
  • assumeMinServerVersion
  • binaryTransfer
  • binaryTransferDisable
  • binaryTransferEnable
  • cancelSignalTimeout
  • connectTimeout
  • currentSchema
  • databaseMetadataCacheFields
  • defaultRowFetchSize
  • escapeSyntaxCallMode
  • gssEncMode
  • hostRecheckSeconds
  • jaasApplicationName
  • jaasLogin
  • kerberosServerName
  • loadBalanceHosts
  • loginTimeout
  • logServerErrorDetail
  • options
  • password
  • preferQueryMode
  • preparedStatementCacheQueries
  • prepareThreshold
  • queryTimeout
  • readOnly
  • reWriteBatchedInserts
  • socketTimeout
  • ssl
  • sslfactory
  • sslhostnameverifier
  • sslmode
  • sslNegotiation
  • sslpassword
  • sslpasswordcallback
  • stringtype
  • targetServerType
  • tcpKeepAlive
  • unknownLength
  • user

Funktionsunterstützung

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.22 die folgenden Features:

Funktion Unterstützt?
Looker (Google Cloud Core)
Symmetrische Aggregate
Abgeleitete Tabellen
Persistente abgeleitete SQL-Tabellen
Persistente, native abgeleitete Tabellen
Stabile Ansichten
Abfrageeabruch
SQL-basierte Pivots
Zeitzonen
SSL
Zwischensummen
Zusätzliche JDBC-Parameter
Groß-/Kleinschreibung beachten
Standorttyp
Listentyp
Perzentil
Perzentil der unterschiedlichen Werte
SQL-Runner-Befehl – Prozesse anzeigen
SQL-Runner-Funktion – Tabelle beschreiben
SQL Runner-Befehl – Indexe anzeigen
SQL-Runner – 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
In-Database-Analysemodelle
Benutzerdefinierte Kalender