PostgreSQL

Dialekte, für die diese Anweisungen relevant sind

Die folgenden Dialekte teilen die auf dieser Seite beschriebenen Anforderungen für die Datenbankeinrichtung:

  • PostgreSQL
  • Cloud SQL for PostgreSQL
  • Microsoft Azure PostgreSQL
  • AlloyDB for PostgreSQL
  • Amazon Aurora PostgreSQL
  • Amazon RDS for PostgreSQL

Netzwerk-Datenverkehr verschlüsseln

Looker empfiehlt dringend, den Netzwerk-Datenverkehr zwischen der Looker-Anwendung und Ihrer Datenbank zu verschlüsseln. Ziehen Sie eine der Optionen auf der Seite Zugriff auf sichere Datenbanken aktivieren in Betracht.

Weitere Informationen zur SSL-Verschlüsselung finden Sie in der PostgreSQL-Dokumentation.

Benutzer und Sicherheit

Ändern Sie some_password_here zu einem eindeutigen, sicheren Passwort:

CREATE USER looker WITH ENCRYPTED PASSWORD 'some_password_here';
GRANT CONNECT ON DATABASE database_name to looker;
\c database_name
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO looker;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO looker;

Wenn Sie ein anderes Schema als public verwenden, führen Sie den folgenden Befehl aus, um Looker Nutzungsberechtigungen zu erteilen:

GRANT USAGE ON SCHEMA schema_name TO looker;

Führen Sie die folgenden Befehle aus, um sicherzustellen, dass zukünftige Tabellen, die Sie dem öffentlichen Schema hinzufügen, auch für den Nutzer looker verfügbar sind:

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO looker;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO looker;

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 Ziel-Rolle oder einen Nutzer angeben, für den die Berechtigung des looker-Nutzers gelten soll:

ALTER DEFAULT PRIVILEGES FOR USER <USER_WHO_CREATES_TABLES> IN SCHEMA public GRANT SELECT ON tables TO looker;
ALTER DEFAULT PRIVILEGES FOR ROLE <ROLE_THAT_CREATES_TABLES> IN SCHEMA public GRANT SELECT ON sequences TO looker;

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/der Nutzer ist in diesem Fall der Nutzer web_app. Das bedeutet, dass wir das Targeting auf Tabellen festlegen, die von web_app erstellt werden, damit der Nutzer looker die Leseberechtigung für die Tabellen erhalten kann. 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 Website von PostgreSQL unter ALTER DEFAULT PRIVILEGES.

Einrichtung eines temporären Schemas

Selbst gehostete Postgres

Erstellen Sie ein Schema, das dem looker-Nutzer gehört:

CREATE SCHEMA looker_scratch AUTHORIZATION looker;

Postgres auf Amazon RDS

Erstellen Sie ein Scratch-Schema:

CREATE SCHEMA looker_scratch;

Ändern Sie die Inhaberschaft des Scratch-Schemas in den Nutzer looker:

ALTER SCHEMA looker_scratch OWNER TO looker;

search_path festlegen

Zum Schluss sollten Sie einen geeigneten search_path festlegen, mit dem der SQLer-Runner von Looker bestimmte Metadaten aus Ihrer Datenbank abruft. Wenn Sie einen Nutzer namens looker und ein temporäres Schema namens looker_scratch erstellt haben, lautet der Befehl so:

ALTER USER looker SET search_path TO '$user',looker_scratch,schema_of_interest,public
                                                            ^^^^^^^^^^^^^^^^^^
                                                            ^^^^^^^^^^^^^^^^^^
                                             include a comma-separated list of
                                            all schemas you'll use with Looker

Die Verbindung hinzufügen

Im Anschluss an die Datenbankkonfiguration können Sie in Looker eine Verbindung mit der Datenbank herstellen. Wählen Sie im Abschnitt Admin von Looker die Option Verbindungen aus und klicken Sie auf Verbindung hinzufügen.

Füllen Sie die Verbindungsdetails aus. Die meisten dieser Einstellungen sind den meisten Datenbankdialekten gemeinsam. Sie werden auf der Dokumentationsseite zum Verbinden von Looker mit Ihrer Datenbank beschrieben.

Klicken Sie nach dem Konfigurieren der Verbindungsoptionen auf Diese Einstellungen testen, um zu prüfen, ob die Verbindung zu PostgreSQL erfolgreich ist. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankverbindung testen.

Klicken Sie auf Verbindung hinzufügen, um die Verbindung zu speichern.

Unterstützte Funktionen

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

In der neuesten Version von Looker unterstützt PostgreSQL die folgenden Looker-Features:

In der neuesten Version von Looker unterstützt Cloud SQL for PostgreSQL die folgenden Looker-Features:

In der neuesten Version von Looker unterstützt Microsoft Azure PostgreSQL die folgenden Looker-Features: