B3. Verwendung des PostgreSQL-DBMS

Allgemeine Beschreibung

PostgreSQL ist ein objektrelationales Datenbankmanagementsystem. PostgreSQL ist eine kostenlose Alternative zu anderen Datenbankmanagementsystemen wie Oracle, Microsoft SQL usw., die in größeren Antivirus-Netzwerken als externe Datenbank für Dr.Web Enterprise Security Suite eingesetzt werden kann.

So nutzen Sie PostgreSQL als externe Datenbank

1.Installieren Sie den PostgreSQL- oder Postgres Pro-Server.

2.Richten Sie den Dr.Web Server für die Verwendung der gewünschten externen Datenbank ein. Verwenden Sie dazu die Konfigurationsdatei oder das Verwaltungscenter: Wechseln Sie hierzu zu Dr.Web Server-Konfiguration und dann zu Datenbank.

Beim Einsatz des PostgreSQL-DBMS kann die Autorisierung nur über trust, password und MD5 erfolgen.

Installation und unterstützte Versionen

1.Laden Sie die neueste Version von PostgreSQL (den PostgreSQL-Server und, falls notwendig, den entsprechenden ODBC-Treiber) herunter oder nutzen Sie Version 8.4 oder höher oder (im Fall Postgres Pro) Version 11.4.1 oder höher.

2.Erstellen Sie eine PostgreSQL-Datenbank über einen der folgenden Wege:

a)Über die grafische Oberfläche von pgAdmin.

b)Über den SQL-Befehl CREATE DATABASE.

In der Datenbank muss UTF-8 als Zeichensatz eingestellt sein.

Umstieg auf eine externe Datenbank wird unter DBMS von Dr.Web Enterprise Security Suite wechseln detailliert beschrieben.

Beachten Sie, dass der Einsatz einer externen PostgreSQL-Datenbank bestimmte Anforderungen an den Dr.Web Server stellt (s. dazu im Dokument Installationsanleitung den Abschnitt Systemanforderungen).

Parameter

Beim Konfigurieren des Zugriffs auf das PostgreSQL-DBMS werden die in der Tabelle unten aufgeführten Parameter verwendet.

PostgreSQL

Name

Standardwert

Erläuterung

host

<Lokaler UNIX-Socket>

Host des PostgreSQL-Servers

port

 

Der Portnummer des PostgreSQL-Servers oder die Namenserweiterung der Datei des Sockets

dbname

drwcs

Datenbankname

user

drwcs

Benutzername

password

drwcs

Passwort

options

 

Debug- und Ablaufverfolgungsoptionen für das Senden an den Server

requiressl

 

1 gibt an, dass SSL-Verbindungsanforderungen gesendet werden

bei 0 werden keine SSL-Verbindungsanforderungen gesendet

temp_tablespaces

 

Der Namespace für temporäre Tabellen

default_transaction_isolation

 

Transaktionsisolationsstufe (mehr dazu finden Sie in der Dokumentation für PostgreSQL)

Technische Informationen finden Sie unter https://www.postgresql.org/docs/.

Interaktion des Dr.Web Servers mit einer PostgreSQL-Datenbank über UDS

Wenn der Dr.Web Server und die PostgreSQL-Datenbank auf einem Rechner installiert werden, ist zwischen ihnen eine Interaktion über UDS (den UNIX-Domänensocket) möglich.

So konfigurieren Sie die UDS-Verbindung

1.Geben Sie in der Konfigurationsdatei der PostgreSQL-Datenbank postgresql.conf das folgende Verzeichnis für den UDS an:

unix_socket_directory = '/var/run/postgresql'

2.Starten Sie das PostgreSQL-DBMS neu.

PostgreSQL-Datenbank konfigurieren

Um Ihre PostgreSQL-Datenbank für bessere Leistung zu optimieren, sollten Sie Hinweise und Tipps zum Betrieb der Datenbank beachten, die offiziellen Handbüchern zu PostgreSQL aufgeführt sind.

Wenn es sich um recht große Datenbanken handelt und es ausreichend Rechnerleistung zur Verfügung steht, lohnt es sich, folgende Parameter in der Konfigurationsdatei postgresql.conf wie folgt anzupassen:

Minimale Konfiguration:

shared_buffers = 256MB

temp_buffers = 64MB

work_mem = 16MB

Erweiterte Konfiguration:

shared_buffers = 1GB

temp_buffers = 128MB

work_mem = 32MB

fsync = off

synchronous_commit = off

wal_sync_method = fdatasync

commit_delay = 1000

max_locks_per_transaction = 256

max_pred_locks_per_transaction = 256

Deaktivierung des synchronen Schreibens durch die Einstellung fsync = off erhöht zwar wesentlich die Datenbankleistung, doch kann dazu führen, dass bei Stromausfällen oder Systemabstürzen möglicherweise auch alle Daten verloren gehen. Die Deaktivierung des Parameters fsync ist also nur sinnvoll, wenn die Daten einfach (beispielsweise aus einer Sicherungskopie) wiederbeschafft werden können.

 

Die Einstellung des Parameters max_locks_per_transaction ist sinnvoll, um die stabile Funktion der Datenbank sicherzustellen, wenn viele gleichzeitige Anfragen an die Datenbank gestellt werden, beispielsweise bei der Aktualisierung auf eine neue Version.