Vorheriges Thema: ORACLE-Datenbank-ApplianceNächstes Thema: Verschiedene Appliances


PGSQL64 - PostgreSQL-Datenbank-Appliance

PGSQL, PGSQL64: PostgreSQL-Datenbank-Appliance

Auf einen Blick

Katalog

System

Kategorie

Datenbank-Appliances

Benutzer-Volumes

ja

Min. Speicher

160 MB

Betriebssystem

Linux

Einschränkungen

no

Fragen/Kommentare

Im Forum fragen

Funktionsübersicht

Wichtig! PGSQL ist in CA AppLogic® 2.8+ nicht verfügbar; verwenden Sie stattdessen PGSQL64.

PGSQL64 ist eine Datenbank-Appliance, die auf dem PostgreSQL-Datenbankmodul (http://www.mysql.org) basiert. Sie bietet eine einfache Möglichkeit, eine Datenbank zu jeder beliebigen Anwendung hinzuzufügen. PGSQL64 ist eine Datenbank-Appliance im Enterprise-Stil, die viele Funktionen unterstützt, die gegenwärtig von den MYSQLx-Appliances nicht unterstützt werden. Zu diesen Funktionen gehören gespeicherte Vorgänge, Auslöser, Ansichten und benutzerdefinierte Datentypen.

PGSQL64 speichert die Datenbank auf einem anwendungsdefinierten Volume, das auf jeder PGSQ64L-Instanz konfiguriert werden kann. PGSQL64 erstellt optional eine leere Datenbank, wenn es mit einem leeren Volume gestartet wird. Das PGSQL64-Datenbank-Volume kann nicht von mehreren PGSQL-Instanzen gemeinsam genutzt werden (ein Datenbank-Volume pro PGSQL-Instanz).

PGSQL64-Clients greifen über den Terminal "in" auf die konfigurierte Datenbank zu. Die Datenbankanfragen werden verarbeitet und zurück durch das gleiche Terminal abgeschlossen. PGSQL64 erlaubt jedem zulässigen Postgres-Benutzer, über den Terminal "in" auf die Datenbank zuzugreifen (die Appliance hat eine vorkonfigurierte Superuser-Rolle: standardmäßig "postgres"). PGSQL64 kann mit der maximalen Anzahl gleichzeitiger Verbindungen konfiguriert werden, die über das Terminal "in" unterstützt werden.

PGSQL64 ist ferner in der Lage, ein Datenbankprotokoll zu verwalten, auf das über das Protokollterminal zugegriffen werden kann. Das Protokoll ist nützlich für die Nachverfolgung der Datenbankinformationen und die Fehlerprotokollierung. Protokollpfad, Name, Alter und Inhalte sind konfigurierbar. Außerdem können verschiedene Datenbankstatistiken und Debug-Informationen aktiviert werden, um Datenbankzugriffsmuster herauszuarbeiten und Probleme/Fehler zu diagnostizieren.

PGSQL64 wird normalerweise für Mehrzweck-Webdatenbankanwendungen (kleine Datenbanken mit einer Vielzahl von Benutzern, die einfache Abfragen ausführen) oder für Entscheidungsunterstützungs-Datenbanken verwendet (große Datenbanken mit einer kleinen Anzahl von Benutzern, die komplexe Abfragen ausführen).

Name

Aktuelle Version

Betriebssystem

PostgreSQL

Hinweise

PGSQL64

3.0.2-1

CentOS 6.3

9.0.10

 

Ressourcen

Ressource

Minimum

Maximum

Standard

CPU

0.1

16

0.4

Speicher

160 MB

32 G

512 MB

Bandbreite

1 Mbit/s

2 Gbit/s

250 Mbit/s

Hinweis: Der Speicher sollte im Hinblick auf zwei Hauptfaktoren vergrößert werden: die Anzahl gleichzeitiger Benutzer und die Datenbankgröße. Normalerweise kann PGSQL ungefähr 80 gleichzeitige Benutzer pro 128 MB Speicher unterstützen. Der größer die Datenbank, desto mehr Speicherplatz benötigt PGSQL für die Bearbeitung. Zum Beispiel sollte PGSQL mit mindestens 1 G Speicherplatz für eine 10-G-Datenbank konfiguriert werden – und für eine bessere Leistung mit mehr als 1 G.

Terminals

Name

Verz.

Protokoll

Description

in

in

PGSQL

Empfängt PostgreSQL-Datenbankanfragen von Clients.

log

out

CIFS

Wird verwendet, um zum Speichern von Fehlerprotokollen auf ein Remote-Dateisystem zuzugreifen. Dieses Terminal kann ohne Verbindung bleiben, wenn es nicht verwendet wird.

mon

out

CCE

Sendet Leistungs- und Ressourcenverwendungsstatistik. Dieses Terminal kann unverbunden gelassen werden.

Die Standardschnittstelle. Sie ist für Diagnostik und Fehlersuche vorgesehen (über SSH). Künftige Versionen dieser Appliance können den SSH-Zugriff möglicherweise deaktivieren.

Benutzer-Volumes

Volume

Beschreibung

Daten

Volume für die Datenbankdatenspeicherung.

Wichtig! Das Daten-Volume muss ausschließlich der PGSQL-Instanz zugewiesen sein (es kann nicht gemeinsam mit anderen Appliances verwendet werden).

Eigenschaften

Hinweis: Bei keiner der PGSQL-Eigenschaften wird zwischen Groß-/Kleinschreibung unterschieden, außer bei Dateinamen und Pfaden.

Eigenschaftsname

Typ

Description

auto_create

Zeichenfolge

Ob die Datenbank erstellt werden soll, wenn sie nicht vorhanden ist. Mögliche Werte sind "yes" zum Erstellen und "no", um die automatische Erstellung zu unterbinden (um im Fall von beschädigten Volumes ein versehentliches Überschreiben zu vermeiden). Wenn dies auf "no" festgelegt ist und keine Datenbank auf dem Benutzer-Volume vorhanden ist, wird die Appliance im Wartungsmodus geatartet (der PostgreSQL-Daemon wird nicht gestartet).
Der Standardwert ist "yes" (ja).

read_only

Zeichenfolge

Die Datenbank, auf die über das Terminal "in" zugegriffen wird, ist schreibgeschützt. Mögliche Werte sind ja "yes" schreibgeschützt und "no" für Lese-/Schreibzugriff. Diese Eigenschaft wird von PGSQL verwendet, um die Leistung für die Datenbank zu optimieren (schreibgeschützte Datenbanken müssen keine automatische Speicherbereinigung und so weiter durchführen).
Der Standardwert ist "no".

max_connections

Ganzzahl

Die größtmögliche Anzahl von gleichzeitig aktiven Verbindungen zur Datenbank, die PGSQL über das Terminal verarbeiten kann. PGSQL verwendet diesen Wert in erweiterten Berechnungen für die Speicherverwaltung. Im Allgemeinen benötigt PGSQL 128 MB Speicher je 80 gleichzeitige Verbindungen. Sobald das Verbindungslimit erreicht wird, lehnt PGSQL alle nachfolgenden Verbindungen ab.
Der Standardwert ist 100.

query_complexity

Zeichenfolge

Diese Eigenschaft gibt die allgemeine Komplexität der Abfragen an, die Benutzer für die Datenbank mit PGSQL ausführen. Mögliche Werte sind:
simple - Einfache Abfragen bestehen aus ein paar Zeilen (allgemeine Verwendung). Die Mehrheit der Web-Datenbankanwendungen verwendet einfache Abfragen.
complex - Komplexe Abfragen bestehen aus Hunderten von Zeilen und greifen auf Millionen von Zeilen in der Datenbank zu (Entscheidungsunterstützungsanwendungen oder Anwendungen, die datenintensive Transaktionen verarbeiten).
=PGSQL= Verwendet die Abfragekomplexität zum Ermitteln der Speichermenge, die für die Abfrageverarbeitung reserviert sein sollte.
Der Standardwert ist "simple".

sync_on_write

Zeichenfolge

Legt fest, ob PSQL warten sollte, bis Datenbankaktualisierungen physisch auf den Datenträger geschrieben wurden (hauptsächlich beim Übergeben von Transaktionen). Mögliche Werte sind "yes", um auf physische Datenträgeraktualisierungen zu warten, oder "no", um keine Aktualisierungen zwischenzuspeichern und sie zu einem späteren Zeitpunkt zu schreiben und damit die Leistung zu verbessern (verzögertes Schreiben). Das Festlegen dieser Eigenschaft auf "yes" kann zu Leistungseinbußen führen, stellt aber auch sicher, dass die Datenbank nach einem Appliance-Absturz oder Fehler wieder in einen stabilen Status zurückkehren kann. Wenn die Datenbank als schreibgeschützt angegeben ist, deaktiviert PGSQL automatisch diese Funktion und ignoriert den Wert dieser Eigenschaft.
Der Standardwert ist "yes" (ja).

timezone

Zeichenfolge

Gibt die in der Appliance verwendete Zeitzone an. Wenn diese Eigenschaft leer ist, wird die Zeitzone nicht geändert, sondern im Ist-Zustand beibehalten. Hier ist eine Liste der unterstützten Zeitzonen verfügbar. Standard: leer

Protokollierungseigenschaften

Eigenschaftsname

Typ

Description

log_filename

Zeichenfolge

Dateiname für die Datenbankprotokolldatei, relativ zum Dateisystem, auf das durch das Protokoll-Terminal zugegriffen wird (zum Beispiel postgresql.log für /mnt/log/postgresql.log oder /pgsql_logs/postgresql.log für /mnt/log/pgsql_logs/postgresql.log). Ist dies leer, wird die Protokollierung deaktiviert. %-Escape-Zeichen können im Protokolldateinamen angegeben werden (entspricht dem strftime-Muster von Linux - am Ende dieses Themas finden Sie eine Gesamtliste von %-Escape-Zeichen). Wenn keine %-Escape-Zeichen verwendet werden, hängt PGSQL "epoch" an die Erstellungszeit der Protokolldatei an. Der Standardwert ist (leer).

log_age

Ganzzahl

Die maximale Lebensdauer der Protokolldatei; in Minuten angegeben. Nach dem Ablauf der angegebenen Anzahl von Minuten wird eine neue Protokolldatei mithilfe der log_filename-Eigenschaft erstellt. PGSQL kürzt die Protokolldatei, wenn sie bereits vorhanden ist; dies ermöglicht die Protokollrotation. Bei Festlegung auf 0 wird die Uhrzeit-basierte Erstellung von neuen Protokolldateien deaktiviert.
Der Standardwert ist 1440 (ein Protokoll pro Tag).

log_size

Ganzzahl

Die maximale Größe eine Protokolldatei; in MB angegeben. Wenn die Protokolldatei die angegebene Größe erreicht, wird eine neue Protokolldatei mithilfe der log_filename-Eigenschaft erstellt. PGSQL kürzt die Protokolldatei, wenn sie bereits vorhanden ist; dies ermöglicht die Protokollrotation. Bei Festlegung auf 0 wird die größenbasierte Erstellung von neuen Protokolldateien deaktiviert.
Der Standardwert ist 0.

log_level

Zeichenfolge

Datenbank-Protokollierungsebene. Mögliche Werte sind:
none - Es wird nichts protokolliert.
error - Protokolliert nur Fehler, die von PGSQL entdeckt wurden.
warn - Protokolliert sowohl Warnungen als auch Fehler.
notice - Protokolliert Warnungen, Fehler und Hinweise.
debug - Protokolliert neben Warnungen, Hinweisen und Fehlern zusätzliche Debuginformationen. Debug-Informationen umfassen ausgeführte SQL-Anweisungen und Datenbankverbindungsinformationen (Verbindungsherstellung und -trennung).
Der Standardwert ist "warn".

log_cmd_stats

Zeichenfolge

Legt fest, ob Statistiken zu den SQL-Ausführungsbefehlen in PGSQL protokolliert werden sollen (zusammen mit dem Startzeitpunkt der Ausführung). Mögliche Werte sind "yes", um die Protokollierung zu aktivieren, und "no", um die Protokollierung zu deaktivieren. Auf die Statistik kann mithilfe der pg_stat_activity-Systemansicht in PGSQL zugegriffen werden. Ist dies auf "nein" festgelegt, werden benutzerdefinierte PGSQL-Zähler deaktiviert.
Der Standardwert ist "yes" (ja). Die Statistikprotokollierung wird für die automatische Bereinigung benötigt.

Wichtig! Die PGSQL-Appliance kann nicht gestartet werden, wenn die Protokollierung aktiviert ist und das Protokoll-Terminal nicht verbunden ist.

Benutzerdefinierte Zähler

Die PGSQL-Appliance meldet die folgenden benutzerdefinierten Zähler durch das mon-Terminal, sofern die Eigenschaft "log_cmd_stats" auf "yes" festgelegt ist. Diese Zähler gehören zur PostgreSQL-Zählergruppe:

Zählername

Beschreibung

Active processes

Anzahl von aktiven Serverprozessen für Server

Übergebene Transaktionen

Transaktionen im Server übergeben

Rolled back

Transaktionen, für die ein Rollback an den Server vorgenommen wurde.

DB Block fetch requests

Anzahl der "disk block fetch"-Anfragen für Server

DB Block fetch hits

Anzahl der "disk block fetch"-Anfragen, die im Cache für den Server gefunden wurden

Fehlermeldungen

Im Fall von Appliance-Startfehlern können die folgenden Fehler im Systemprotokoll protokolliert werden:

Fehlermeldung

Description

FEHLER: postgres.conf-Konfigurationsdatei kann nicht aktualisiert werden, möglicherweise aufgrund von zu geringem Speicherplatz auf dem Start-Volume.

PGSQL konnte postgres.conf-Konfigurationsdatei nicht aktualisieren. Wahrscheinliche Ursache - Startvolume ist voll, Berechtigungsproblem

FEHLER: Unerwarteter interner Fehler: postgres.conf.tmpl-Datei fehlt, kontaktieren Sie den technischen Support von CA

Die Vorlagendatei postgresql.conf.tmpl ist nicht vorhanden oder kann nicht gelesen werden, wenden Sie sich an den Support von CA.

FEHLER: Auf die angegebene Protokolldatei kann nicht zugegriffen werden; überprüfen Sie, dass die log_filename-Eigenschaft den richtigen Pfad enthält und dass das Protokoll-Terminal verbunden ist.

PGSQL konnte das Protokolldateienverzeichnis nicht ermitteln; wahrscheinliche Ursache: log_filename-Wert ist ungültig

FEHLER: In die angegebene Protokolldatei kann nicht geschrieben werden; überprüfen Sie, ob das angegebene Protokollverzeichnis schreibfähig ist.

In die PostgreSQL-Protokolldatei kann nicht geschrieben werden.

FEHLER: Es wurde eine unbekannte Protokollebene für die log_level-Eigenschaft angegeben.

Der angegebene log_level-Wert ist ungültig; er sollte none, error, warn, notice oder debug lauten.

FEHLER: log_cmd_stats kann nicht aktiviert werden, da die Datenbank als schreibgeschützt angegeben ist.

Für log_cmd_stats muss die Datenbank beschreibbar sein.

FEHLER: Datenbankvolume des Benutzers kann nicht geladen werden. Vergewissern Sie sich, dass das Volume mit einem zulässigen Dateisystem formatiert wurde.

PGSQL konnte das angegebene Volume nicht mit Datenbankdateien laden. Vergewissern Sie sich, dass das Volume vorhanden und mit dem ext3-Dateisystem formatiert ist.

FEHLER: PGSQL wird wegen nicht erkannter PostgreSQL-Datenbank auf dem angegebenem Datenbank-Volumen im Wartungsmodus gestartet.

Angegebenes Datenbankvolume enthält keine zulässige Datenbank, und auto_create wird auf 'nein' festgelegt. Die Appliance wird im Wartungsmodus gestartet.

FEHLER: Auf dem Datenbank-Volume konnte keine neue Datenbank erstellt werden. In der Datei "/var/log/appliance/log" in PGSQL finden Sie weitere Details zum Fehler.

PGSQL konnte das Datenbankverzeichnis nicht leeren und kein neues erstellen.

FEHLER: PostgreSQL konnte nicht gestartet werden. Überprüfen Sie in PGSQL die Protokolldatei "/var/log/appliance/log", um weitere Informationen zum Fehler zu erhalten.

PGSQL konnte den PostgreSQL-Server nicht starten, Details finden Sie in "/var/log/pgstartup.log" und "/var/log/appliance/log".

FEHLER: log_filename ist angegeben, aber das Protokoll-Terminal ist nicht verbunden.

Die log_filename-Eigenschaft ist nicht leer, aber das Protokoll-Terminal von PGSQL ist nicht verbunden

FEHLER: log_filename ist angegeben, aber das Protokollmodul ist nicht verbunden.

Die log_filename-Eigenschaft ist nicht leer, aber PGSQL konnte nicht auf das Protokollmodul zugreifen. Die wahrscheinliche Ursache ist, dass PGSQL vor NAS gestartet wurde.

Dashboard-Meldungen

In Fällen, in denen kritische Fehler auftreten, die vom Benutzer behoben werden müssen, sendet PGSQL folgende Meldungen zum Grid-Dashboard:

Meldung

Description

Daten-Volume hat weniger als 5 % freien Festplattenspeicher

Daten-Volume auf der PGSQL-Appliance hat weniger als 5 % freien Festplattenspeicher. Es wird empfohlen, die Größe des Volumes zu vergrößern.

Daten-Volume hat weniger als 1 % freien Festplattenspeicher

Daten-Volume auf der PGSQL-Appliance hat weniger als 1 % freien Festplattenspeicher. Ein sofortiger Benutzereingriff ist erforderlich; möglicher Datenverlust kann auftreten.

Diese Meldungen werden nur einmal protokolliert, sobald der freie Festplattenspeicherplatz unter den Schwellenwert fällt.

Leistung

Die Werte für sync_on_write, log_filename und log_cmd_stats property wirken sich stark auf die PGSQL-Leistung aus. Die besten Leistungsergebnisse können erreicht werden, wenn fsync, Protokollierung und Statistik völlig deaktiviert werden (sync_on_write=no, log_filename=" log_cmd_stats=no). Die unten stehende Tabelle enthält pgbench-Prüfergebnisse als Beispiel (in tps-Einheiten angegeben - Transaktionen pro Sekunde), die ausgeführt werden, wenn diese Funktionen aktiviert und deaktiviert werden. pgbench ist ein Hilfsprogramm, das im Lieferumfang PostgreSQL enthalten ist, das zum Messen der Datenbankleistung verwendet wird.

pgbench-Testkonfiguration

aktiviert

deaktiviert

1 Client, 100 Anfragen

40-70 tps

650 tps

10 Clients, 100 Anfragen

60-90 tps

1100 tps

100 Clients, 100 Anfragen

70-110 tps

1200 tps

Einfache Zwei-Ebenen-Anwendung (Webdatenbankanwendung)

Das folgende Diagramm zeigt eine typische Verwendung der PGSQL-Appliance in einer Zwei-Ebenen-Webanwendung, die für die Ausführung einfacher Abfragen durch viele Benutzer konzipiert ist:

Verwendete Appliances:

Clientanfragen treffen auf der Usr-Gateway ein. Das Gateway leitet die Anfragen an den Webserver weiter, der die Anfrage verarbeitet. Wenn Skripte (z. B. Perl oder PHP) auf srv auf persistente Daten zugreifen müssen, wird die dbase-Appliance über das Terminal "db" verwendet.

In diesem Beispiel ist die mit dbase verwendete Datenbank nicht schreibgeschützt, d. h., dass viele Benutzer über srv einfache Abfragen ausführen können. dbase ist für die Verwendung von 256 MB Speicher konfiguriert. Zudem werden in der Datenbank keine Datenbankfehlerprotokolldateien gespeichert (es besteht keine Verbindung zum Protokollterminal).

Beispiel-Eigenschaftskonfiguration:

Eigenschaftsname

Wert

Hinweise

auto_create

ja

Datenbank erstellen, wenn das Daten-Volume leer ist.

read_only

no

Die Datenbank ist nicht schreibgeschützt; sie kann geändert werden.

query_complexity

simple

Benutzer führen normalerweise Abfragen vom Typ "simple" aus.

sync_on_write

ja

Warten, bis Datenbankaktualisierungen physisch auf dem Datenträger abgespeichert werden.

Hinweis: Das Daten-Volume muss auch auf dbase konfiguriert werden, und das Inhalts-Volume muss auf web konfiguriert werden. Informationen zum Erstellen von Anwendungsvolumes, die hier verwendet werden können, finden Sie im Benutzerhandbuch zu Grid.

Skalierbare Zwei-Ebenen-Anwendung (Webdatenbankanwendung)

Das folgende Diagramm zeigt eine typische Verwendung der PGSQL-Appliance in einer Zwei-Ebenen-Webanwendung, bei der die Datenbank für die gemeinsame Verwendung von Status und Daten zwischen mehreren Webservern mit Lastenausgleich dient (konzipiert für die Ausführung einfacher Abfragen durch viele Benutzer). Außerdem wird in diesem Beispiel eine getrennte Eingabe für die Wartung verwendet, über die ein Administrator sich anmelden und auf die Datenbank für die Wartung zugreifen kann, sowie eine Eingabe, über die ein Administrator sich anmelden und das PostgreSQL-Fehlerprotokoll anzeigen kann.

Verwendete Appliances:

Clientanfragen treffen auf der Usr-Gateway ein. Das Gateway leitet die Anfragen an das webs-Lastenausgleichsmodul weiter, das die Anfrage an einen der Webserver (srv1 oder srv2) umleitet. Wenn Skripte (z. B. Perl oder PHP) auf den Webservern auf persistente Daten zugreifen müssen, wird die dbase-Appliance über ihre db-Terminals verwendet.

Die dbase-Datenbank schreibt ihr Fehlerprotokoll über das log-Terminal in die logs-Appliance. Außerdem kann sich ein Administrator über das log-Gateway bei der logs-Appliance anmelden und die Datenbankfehler-Protokolldateien anzeigen (ebenso wie die Webserver-Protokolldateien).

Zusätzlich kann sich ein Administrator über SSH und das Gateway maint beim Server admin anmelden. Vom Server admin kann der Administrator auf die Datenbank dbase zugreifen, um Statistikdaten anzuzeigen oder das Datenbankschema zu ändern. Der Server admin kann über das Gateway gway auf das Internet zugreifen, um zum Beispiel eine neuere Bibliotheksversion oder das Datenbankschema herunterzuladen.

In diesem Beispiel ist die mit dbase verwendete Datenbank nicht schreibgeschützt, d. h., dass viele Benutzer über die Webserver einfache Abfragen ausführen können. dbase ist für die Verwendung von 256 MB Speicher konfiguriert. Zudem wird die Datenbank so konfiguriert, dass die Protokolldateien einer Woche (eine Datei pro Tag) gespeichert werden (nach einer Woche werden die Protokolldateien überschrieben).

Beispiel-Eigenschaftskonfiguration:

Eigenschaftsname

Wert

Hinweise

auto_create

ja

Datenbank erstellen, wenn das Daten-Volume leer ist.

read_only

no

Die Datenbank ist nicht schreibgeschützt; sie kann geändert werden.

query_complexity

simple

Benutzer führen normalerweise Abfragen vom Typ "simple" aus.

sync_on_write

ja

Warten, bis Datenbankaktualisierungen physisch auf dem Datenträger abgespeichert werden.

log_filename

dblog.%a

Name der Fehlerprotokolldatei, die auf dem Daten-Volume logs gespeichert werden soll (eine pro Tag).

log_age

1440

Jede Protokolldatei bezieht sich auf einen Tag, zum Beispiel dblog.Mon.

log_level

Fehler

Fehlerprotokollierungsebene.

Hinweise:

Einfache Zweiebenenanwendung (Entscheidungsunterstützungssystem)

Das folgende Diagramm zeigt eine typische Verwendung der PGSQL-Appliance in einer Zwei-Ebenen-Anwendung, bei der ein Entscheidungsunterstützungssystem für wenige Benutzer, die komplexe Abfragen für eine große Datenbank mit mehreren GBs ausführen, implementiert wird.

Verwendete Appliances:

Clientanfragen treffen auf der Usr-Gateway ein. Das Gateway leitet die Anfragen an den srv-Server weiter, der die Anfrage verarbeitet. Wenn Skripte (z. B. Perl oder PHP) auf srv auf persistente Daten zugreifen müssen, wird die dbase-Appliance über das Terminal "db" verwendet. Die dbase-Appliance wird so konfiguriert, dass sie ihre Protokolldateien innerhalb des Stammverzeichnisses der von logs zur Verfügung gestellten Freigabe speichern.

Mithilfe eines Browsers können Administratoren eine Verbindung zum admin-Gateway herstellen, um die PostgreSQL-Protokolldateien anzuzeigen. Das admin-Gateway leitet die Anfragen an die Protokoll-NAS-Appliance weiter.

In diesem Beispiel ist die mit dbase verwendete Datenbank nicht schreibgeschützt, d. h., dass Benutzer über srv komplexe Abfragen (große Abfragen, die auf Millionen von Zeilen zugreifen) ausführen können. dbase ist für die Verwendung von 1536 MB Speicher konfiguriert. Zudem wird die Datenbank so konfiguriert, dass die Protokolldateien einer Woche (eine Datei pro Tag) gespeichert werden (nach einer Woche werden die Protokolldateien überschrieben).

Beispiel-Eigenschaftskonfiguration:

Eigenschaftsname

Wert

Hinweise

auto_create

ja

Datenbank erstellen, wenn das Daten-Volume leer ist.

max_connections

25

Die Datenbank ist auf 25 gleichzeitige Benutzer beschränkt.

read_only

no

Die Datenbank ist nicht schreibgeschützt; sie kann geändert werden.

query_complexity

complex

Benutzer führen normalerweise komplexe Abfragen aus.

sync_on_write

ja

Warten, bis Datenbankaktualisierungen physisch auf dem Datenträger abgespeichert werden.

log_filename

dblog.%a

Name der Fehlerprotokolldatei, die auf dem Daten-Volume logs gespeichert werden soll (eine pro Tag).

log_age

1440

Jede Protokolldatei bezieht sich auf einen Tag, zum Beispiel dblog.Mon.

log_level

Fehler

Fehlerprotokollierungsebene.

Hinweis: Das Daten-Volume muss auch auf der dbase-Appliance konfiguriert werden, und das Daten-Volume muss auch auf der logs-Appliance konfiguriert werden.

Einfache Zwei-Ebenen-Anwendung (Schreibgeschützte Webdatenbankanwendung)

Eine weniger gebräuchliche Verwendung der PGSQL-Appliance ist eine Zwei-Ebenen-Anwendung mithilfe einer schreibgeschützten Datenbank. Dies entspricht den vorigen einfachen Anwendungsbeispielen, mit dem Unterschied, dass die Datenbank schreibgeschützt ist (keine Änderungen sind zulässig). Es ist wichtig, PGSQL so zu parametrisieren, dass es eine schreibgeschützte Datenbank verwendet, da es dann verschiedene PostgreSQL-Funktionen deaktiviert, die für schreibgeschützte Datenbanken nicht benötigt werden. Dies führt zu einer besseren Leistung (automatische Datenbankbereinigung, Datenbankänderungsstatistik und so weiter).

Beispiel-Eigenschaftskonfiguration:

Eigenschaftsname

Wert

Hinweise

auto_create

no

Datenbank auf dem Daten-Volume sollte bereits vorhanden sein.

read_only

ja

Die Datenbank ist schreibgeschützt, Änderungen sind nicht zulässig.

query_complexity

simple

Benutzer führen normalerweise Abfragen vom Typ "simple" aus.

log_filename

dblog.%a

Name der Fehlerprotokolldatei, die auf dem Daten-Volume logs gespeichert werden soll (eine pro Tag).

log_age

1440

Jede Protokolldatei bezieht sich auf einen Tag, zum Beispiel dblog.Mon.

log_level

Fehler

Fehlerprotokollierungsebene.

Debuggen von Datenbank-Anwendungen

PGSQL stellt Eigenschaften bereit, um das Debugging einer Datenbank zu aktivieren, indem die parametrisierte Protokolldatei (log_filename) verwendet wird. Dies ist für die Nachverfolgung von SQL-Anweisungen hilfreich, weil sich so ablesen lässt, wie lange die Ausführung von SQL-Anweisungen dauert, warum eine SQL-Anweisung fehlschlägt usw. Die Fehlerbehebungsinformationen umfassen:

Um in einer Datenbank Fehler zu beheben, werden typischerweise die folgenden Eigenschaften konfiguriert:

Eigenschaftsname

Wert

Hinweise

log_level

debug

Debug-Protokollierungsebene.

log_cmd_stats

ja

Die SQL-Befehlsstatistik (Timing, Verarbeitung, Ausführung und so weiter) wird protokolliert.

Die Debug-Informationen werden entweder in dem durch das Protokoll-Terminal verfügbare Fehlerprotokoll gespeichert oder ist verfügbar durch eine der PostgreSQL-Statistikansichten: http://www.postgresql.org/docs/8.3/static/monitoring-stats.html.

Hinweise

Beachten Sie Folgendes:

Open Source- und Drittanbieter-Software, die von dieser Appliance verwendet wird

Zusätzlich zur Software in der Appliance-Basisklasse (LUX64 ist die Basisklasse von PGSQL64) wird folgende Open Source-Drittanbieter-Software verwendet.

Software

Version

Geändert

Lizenz

Hinweise

libgcrypt

1.4.5-9.el6_2.2

Nein

GPLv2

N/A

libgpg-error

1.7-4

Nein

GPLv2

N/A

postgresql

9.0.10-1PGDG

Nein

BSD

N/A

postgresql-libs

9.0.10-1PGDG

Nein

BSD

N/A

postgresql-server

9.0.10-1PGDG

Nein

BSD

N/A

postgresql-test

9.0.10-1PGDG

Nein

BSD

N/A

samba-client

3.5.10-125

Nein

GPLv3

N/A

samba-common

3.5.10-125

Nein

GPLv3

N/A