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:
- Dienstkonto, dessen Identität übernommen wurde, zur Cloud SQL-Datenbank hinzufügen
- Identitätsübernahme des Dienstkontos für Ihre Cloud SQL-Datenbank einrichten
- Zusätzliche Konfigurationsbefehle für Cloud SQL for PostgreSQL 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:
Erstellen Sie einen Datenbanknutzer und ein Passwort.
CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';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;Wenn Sie ein anderes Schema als
publicverwenden, führen Sie diesen Befehl aus, um Looker Nutzungsberechtigungen zu erteilen:GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;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
Ö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.
Wählen Sie im Drop-down-Menü Dialekt die Option Google Cloud PostgreSQL aus.
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.
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.
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.
allowEncodingChangesApplicationNameassumeMinServerVersionbinaryTransferbinaryTransferDisablebinaryTransferEnablecancelSignalTimeoutconnectTimeoutcurrentSchemadatabaseMetadataCacheFieldsdefaultRowFetchSizeescapeSyntaxCallModegssEncModehostRecheckSecondsjaasApplicationNamejaasLoginkerberosServerNameloadBalanceHostsloginTimeoutlogServerErrorDetailoptionspasswordpreferQueryModepreparedStatementCacheQueriesprepareThresholdqueryTimeoutreadOnlyreWriteBatchedInsertssocketTimeoutsslsslfactorysslhostnameverifiersslmodesslNegotiationsslpasswordsslpasswordcallbackstringtypetargetServerTypetcpKeepAliveunknownLengthuser
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 |