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:
Erstellen Sie einen Datenbanknutzer und ein Passwort.
CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
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;
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;
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:
- Wählen Sie in Looker im Bereich Admin die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.
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.
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.
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.
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 |