Genau wie das QlikShare sollte auch die Postgres Datenbank am besten auf einer eigenen Maschine laufen. Vor allem dann wenn Sie später ein Cluster mit Ausfallsicherheit aufbauen wollen.

Die Installationsdatei von Postgres finden Sie hier: https://www.postgresql.org

  1. Loggen Sie sich als Admin auf dem Server an auf dem Sie Postgres installieren wollen.
  2. Downloaden Sie die PostgreSQL EnterpriseDB version 9.6von der PostgreSQL Webseite.
  3. Starten Sie die Installation mit der rechten Maustaste „als Administrator“.
  4. Verwenden Sie am besten die Standardpfade sobald der Dialog für diese erscheint dies vereinfacht später die Einrichtung von Sense.
  5. Erstellen Sie ein Passwort für den SuperUser Account.
    Sie benötigen dieser später in während der Installation von Qlik Sense
  6. Auf der Port Seite richten Sie den Port 4432. Dies ist der Standard Port der später von allen Qlik Sense Nodes genutzt wird um mit der DB zu kommunizieren.
  7. Im Bereich Advanced wählen Sie die Standardeinstellungen.
  8. Klicken Sie auf weiter um die Installation zu starten. 
  9. Nach der Installation können Sie wahlweise noch den Stack Builder installieren, dieser wird von Sense nicht benötigt
  10. Schließen Sie das Installationsmenü.

Wenn Sie die Postgres DB auf diesem Weg installieren ist das PGAdmin Tool direkt mit an Bord, wenn Sie Postgres via Qlik installieren müssen Sie PGAdmin separat installieren.

 

Datenbank erstellen

Um eine neue Datenbank zu erstellen, benötigen Sie das PG-Admin Tool

  1. Öffnen Sie das pgAdmin tool. 
  2. Klicken Sie in dem pgAdmin Browser, unter Servers, mit der rechten Maustaste auf den PostgreSQL node und dann auf Connect Server.
  3. Geben Sie das SuperUser Passwort ein. Eine grüne Statusbar in der unteren rechten Ecke zeigt an wenn Sie eine Verbindung hergestellt haben.
  4. Klicken Sie mit der rechten Maustaste auf den Datenbank Knoten und wählen Sie „Create New Database“ und dann erstellen.
  5. Geben Sie den Namen für die Datenbank ein 

Datenbank per Skript erstellen:

  1. Öffnen Sie das Query Werkzeug. Wählen Sie eine vorhandene Datenbank um das Optionen des Query Tools zu erhalten.
  2. Führen Sie folgendes Skripte aus:
CREATE DATABASE "QSR" ENCODING = 'UTF8';   
CREATE DATABASE "QSMQ" ENCODING = 'UTF8'; 
CREATE DATABASE "SenseServices" ENCODING = 'UTF8';
CREATE DATABASE "QLogs" ENCODING = 'UTF8';

 

Login Rollen erstellen

Wenn Sie die Datenbank manuell anlegen müssen Sie noch entsprechende Rollen anlegen dieses kann manuell oder per Skript erledigt werden.

Die QSR, SenseServices, und QSMQ Login Rolle

Manuell per PG-Admin Tool

  1. rechts klick auf den Login/Group Roles Knoten. Um einen neuen Datenbank Benutzer anzulegen Klicken Sie auf Create und wählen Sie dann Login/Group Role. 
  2. In dem Fenster auf dem Reiter General geben Sie folgenden Namen ein: qliksenserepository.
  3. Im Reiter Privileges, aktiviere Sie „Can login?“ und lassen Sie die anderen Einstellungen so wie Sie sind.
  4. Im Reiter Definition vergeben Sie ein Passwort nach Wahl.
    Wenn Sie später die Installation von Qlik Sense durchführen werden Sie dieses Passwort benötigen um sich mit der Datenbank zu verbinden.
  5. Machen qliksenserepository zum Besitzer der Datenbanken QSR, SenseServices, und QSMQ. Klicken Sie dazu mit der Rechten Maustaste auf die jeweilige Datenbank und wählen Sie Properties.
  6. Im Reiter General können Sie im Dropdown Owner den qliksenserepository als Besitzer wählen. Führen Sie dies für die drei oben erstellten Datenbanken durch.

Per Skript:

  1. Öffnen Sie das Query Werkzeug. Wählen Sie eine vorhandene Datenbank um das Optionen des Query Tools zu erhalten.
  2. Führen Sie folgendes Skripte aus:
CREATE ROLE qliksenserepository WITH LOGIN NOINHERIT NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity'; --creates 'qliksenserepository' user and assigns privileges 
ALTER ROLE qliksenserepository WITH ENCRYPTED PASSWORD '<qliksenserepository_password>'; --assigns password to qliksenserepository
ALTER DATABASE "QSR" OWNER TO qliksenserepository; --sets qliksenserepository as owner of the QSR database
ALTER DATABASE "SenseServices" OWNER TO qliksenserepository; --sets qliksenserepository as owner of the SenseServices database
ALTER DATABASE "QSMQ" OWNER TO qliksenserepository; --sets qliksenserepository as owner of the QSMQ database
GRANT TEMPORARY, CONNECT ON DATABASE "QSMQ" TO PUBLIC;
GRANT ALL ON DATABASE "QSMQ" TO postgres;
GRANT CREATE ON DATABASE "QSMQ" TO qliksenserepository;
GRANT TEMPORARY, CONNECT ON DATABASE "SenseServices" TO PUBLIC;
GRANT ALL ON DATABASE "SenseServices" TO postgres;
GRANT CREATE ON DATABASE "SenseServices" TO qliksenserepository;

 

Die QLogs Login Rolle

  1. Öffnen Sie das Query Werkzeug. Wählen Sie eine vorhandene Datenbank um das Optionen des Query Tools zu erhalten.
  2. Führen Sie folgendes Skripte aus:
CREATE ROLE qlogs_users WITH NOLOGIN NOINHERIT NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';
CREATE ROLE qlogs_reader WITH LOGIN NOINHERIT NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';
CREATE ROLE qlogs_writer WITH LOGIN NOINHERIT NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity'; --creates users and assigns privileges
ALTER ROLE qlogs_reader WITH ENCRYPTED PASSWORD '<qlogs_reader_password>'; --assigns password to qlogs_reader
ALTER ROLE qlogs_writer WITH ENCRYPTED PASSWORD '<qlogs_writer_password>'; --assigns password to qlogs_writer
GRANT qlogs_users TO qlogs_reader;
GRANT qlogs_users TO qlogs_writer; --adds qlogs_reader and qlogs_writer to qlogs_users group
ALTER DATABASE "QLogs" OWNER TO qlogs_writer; --sets qlogs_writer as an owner of QLogs database