Auf einen Blick |
|
Katalog |
System |
Kategorie |
Datenbank-Appliances |
Benutzer-Volumes |
ja |
Min. Speicher |
160 MB |
Betriebssystem |
Linux |
Einschränkungen |
no |
Fragen/Kommentare |
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 |
|
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.
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.
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).
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). |
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). |
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. |
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: |
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. |
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 |
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. |
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. |
log_level |
Zeichenfolge |
Datenbank-Protokollierungsebene. Mögliche Werte sind: |
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. |
Wichtig! Die PGSQL-Appliance kann nicht gestartet werden, wenn die Protokollierung aktiviert ist und das Protokoll-Terminal nicht verbunden ist.
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 |
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. |
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.
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 |
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.
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:
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.
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. |
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.
Beachten Sie Folgendes:
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 |
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|