|
Die Werte in der Spalte "Konfiguration" spiegeln die Beispielbereitstellung in der Referenzarchitektur wider, können aber für Ihre Umgebung geändert werden. Für viele der Einstellungen in der folgenden Tabelle werden Links bereitgestellt, mit denen Sie die entsprechenden Konfigurationswerte für Ihre Umgebung bestimmen können.
|
Einstellung
|
Konfiguration
|
Beschreibung
|
---|---|---|
listen_addresses
|
‘*’
|
Alle Netzwerkschnittstellen überwachen. In einigen Situationen, in denen es mehrere Netzwerkschnittstellen gibt, ist es am besten, dies auf bestimmte Netzwerkschnittstellen einzuschränken.
|
Port
|
5432
|
Das ist die standardmäßige Portnummer.
|
max_connections
|
200
|
Der Standardwert in PostgreSQL ist 100. Die Standardeinstellung in ThingWorx ist 100 (maxpoolsize). Erhöhen Sie diese Zahl basierend auf der Gesamtzahl der gleichzeitigen Verbindungen, die in der Datenbank erwartet werden. Dies sollte immer größer sein als die Anzahl der Server im Cluster multipliziert mit der maximalen Poolgröße, die in der Datei platform-settings.json für ThingWorx konfiguriert ist.
|
shared_buffers
|
1024MB
|
Optionale Leistungsoptimierung. Legt den Arbeitsspeicher fest, den der Datenbankserver für gemeinsam genutzte Arbeitsspeicherpuffer verwendet. Es wird empfohlen, diesen Wert auf ein Viertel des verfügbaren Arbeitsspeichers auf dem Rechner festzulegen. Weitere Informationen finden Sie unter Resource Consumption > Memory.
|
work_mem
|
32MB
|
Optionale Leistungsoptimierung. Gibt den Arbeitsspeicher an, der durch interne Sortieroperationen und Hash-Tabellen vor dem Schreiben auf temporäre Festplattendateien verwendet wird. Weitere Informationen finden Sie unter Resource Consumption > Memory. Führen Sie einen Bildlauf nach unten zu work_mem durch.
|
maintenance_work_mem
|
512MB
|
Optionale Leistungsoptimierung. Gibt den maximalen Arbeitsspeicher an, der von Wartungsoperationen verwendet werden soll. Weitere Informationen finden Sie unter Resource Consumption > Memory. Diese Option wird unmittelbar nach work_mem angezeigt.
|
wal_level
|
enum
|
Optionale Leistungsoptimierung. Gibt den maximalen Arbeitsspeicher an, der von Wartungsoperationen verwendet werden soll. Weitere Informationen finden Sie unter Write Ahead Log > Settings.
|
synchronous_commit
|
on
|
Gehen Sie zu Write Ahead Log > Settings, und führen Sie einen Bildlauf zu synchronous_commit (enum) durch.
|
archive_mode
|
on
|
|
archive_command
|
‘cd .’
|
Gehen Sie zu Write Ahead Log > Archiving, und führen Sie einen Bildlauf nach unten zu archive_command (string) durch.
|
max_wal_size
|
10
|
Gehen Sie zu Write Ahead Log, und klicken Sie auf den Link ARCHIVING. Führen Sie einen Bildlauf zu max_wal_size (integer) durch. Weitere Informationen zur WAL-Konfiguration finden Sie unter WAL Configuration in der PostgreSQL 10-Dokumentation.
|
synchronous_standby_names
|
node1, node2 oder node2, node0 oder node0, node1
|
Fügen Sie als kommagetrennte Liste den "application_name" des anderen Knotens hinzu, wie in den recovery.conf-Dateien angegeben. Weitere Informationen finden Sie unter "synchronous_commit" im Abschnitt "Settings" von Write Ahead Log.
|
hot_standby
|
wahr/falsch
|
Informationen zu diesem Modus finden Sie unter Hot Standby.
|
fsync
|
on
|
Gehen Sie zu Write Ahead Log > Settings, und führen Sie einen Bildlauf nach unten zu fsync durch.
|
Checkpoint-Einstellungen
|
Unter Checkpoints finden Sie Information zu den Checkpoint-Einstellungen.
|
|
Wenn Sie eine Verbindung von pgpool-II herstellen, überprüfen Sie, ob der Authentifizierungszugriff der hier dokumentierten pgpool-II-Dokumentation (md5 oder trust) entspricht.
|
Einstellung
|
Wert
|
Beschreibung
|
||
---|---|---|---|---|
listen_addresses
|
‘*’
|
Wählen Sie Werte, die es dem Modellanbieter der ThingWorx Anwendung ermöglichen, eine Verbindung zu pgpool-II herzustellen, unabhängig davon, ob er sich auf demselben oder auf einem anderen Server befindet.
|
||
port
|
5432
|
TCP-Port zum Überwachen von Client-Verbindungen
|
||
pcp_listen_address
|
*
|
IP-/Host-Filter für Port Control Protocol(PCP)-Verbindungen (* lässt alle zu)
|
||
pcp_port
|
9898
|
TCP-Port zum Überwachen von PCP-Verbindungen
|
||
backend_hostname
backend_port
backend_weight
backend_data_directory
backend_flag
|
<ip of backend#>
<port of backend#>
1
/var/lib/postgresql/10.x/main
ALLOW_TO_FAILOVER
|
Legen Sie diese Backend-Konfigurationswerte für jeden Ihrer drei Knoten fest (Master und zwei Standby-Knoten). Beispielsweise ist backend_hostname0 Ihr Master, backend_hostname1 ist Standby 1 und so weiter. Weitere Informationen finden Sie in der PostgreSQL-Online-Dokumentation.
|
||
enable_pool_hba
|
on
|
Aktiviert pool_hba.conf
|
||
master_slave_mode
|
on
|
Dies informiert PostgreSQL, dass Sie die Master-/Standby-Replikation verwenden.
|
||
load_balance_mode
|
off
|
|
||
master_slave_sub_mode
|
stream
|
Dies weist pgpool-II an, die vordefinierte PostgreSQL-Streaming-Replikation zu verwenden.
|
||
replication_mode
|
off
|
Verwenden Sie nicht die Replikation von pgpool-II, sondern verwenden Sie stattdessen die vordefinierte PostgreSQL-Streaming-Replikation.
|
||
sr_check_period
|
10
|
Streaming-Replikationsverzögerung in Sekunden
|
||
sr_check_user
|
replicator
|
Benutzer für Streaming-Replikation
|
||
sr_check_password
|
replicator
|
Passwort für Streaming-Replikation
|
||
sr_check_database
|
postgres
|
Streaming-Replikationsdatenbank
|
||
health_check_user
|
postgres
|
Benutzer für Failover-Integritätsprüfung
|
||
health_check_password
|
postgres
|
Passwort für Failover-Integritätsprüfung
|
||
health_check_database
|
postgres
|
Datenbank für Failover-Integritätsprüfung
|
||
failover_command
|
/etc/pgpool2/failover.sh %d %h %D %m %H %R %M %P
|
Weitere Informationen zu dieser Einstellung finden Sie im Abschnitt "failover_command" weiter unten.
Siehe auch die folgenden Beispielskripts in Anhang C:
• failover.sh
• retargetMaster_001.sh
• retargetMaster_002.sh
• retargetMaster_003.sh
|
||
num_init_children
max_pool
max_child_connections
superuser_reserved_connections
|
Leistungsoptimierungsparameter. Diese Einstellungen beziehen sich auf die Verbindungs-Pooling-Funktionen von pgpool-II. Stellen Sie sicher, dass beim Start so viele Verbindungen bereitgestellt werden, wie für Ihre spezifischen Anforderungen an den höchsten Volume-Datenverkehrsdurchsatz erforderlich sind, und dass die Einstellung für maximale Verbindungen der PostgreSQL-DB-Knoten nicht überschritten wird. Im Abschnitt "Pools" des Handbuchs (siehe Link oben) finden Sie Vorschläge sowie Formeln zum Berechnen von Werten.
|
Einstellung
|
Wert
|
Beschreibung
|
---|---|---|
use_watchdog
|
on
|
Aktiviert Watchdog in pgpool-II
|
wd_hostname
|
'{IP address of this Pgpool-II node}'
|
Hostname oder IP-Adresse dieses Watchdogs
|
wd_port
|
9000
|
Portnummer dieses Watchdogs
|
delegate_IP
|
'{Virtual IP address to access PostgreSQL}'
|
Virtuelle IP-Adresse, die Clients für den Zugriff auf PostgreSQL (über pgpool-II) verwenden
|
ifconfig_path
|
/etc/pgpool2
|
Absoluter Pfad des Verzeichnisses, das die Befehle oder Skripts "if_up_cmd" und "if_down_cmd" enthält.
|
if_up_cmd
|
'ifup.sh $_IP_$ <eni id of Pgpool node>'
|
Befehl, der ausgegeben wird, wenn pgpool-II versucht, die virtuelle IP-Schnittstelle mit der "delegate_IP"-Adresse aufzurufen. Sie können die ENI-ID des pgpool-II-Knotens abrufen, indem Sie sich bei der EC2-Verwaltungskonsole anmelden und zu Ihrer pgpool-II-Instanz wechseln. Suchen Sie in der Beschreibung in der Konsole nach dem Eintrag Network interfaces, klicken Sie auf eth0, und suchen Sie die Schnittstellen-ID. Verwenden Sie sie für $<eni id of Pgpool node>.
|
if_down_cmd
|
'ifdown.sh $_IP_$ <eni id of Pgpool node>'
|
Befehl, der ausgegeben wird, wenn pgpool-II versucht, die virtuelle IP-Schnittstelle mit der "delegate_IP"-Adresse herunterzufahren. Unter "if_up_cmd" finden Sie die ENI-ID des pgpool-II-Knotens.
|
arping_path
|
/usr/bin
|
Pfad des iputils-arping-Installationspakets
|
arping_cmd
|
arping -U $_IP_$ -w 1
|
arping-Befehl, mit dem die IPs verifiziert werden.
|
heartbeat_destination0
|
'{IP address of the other Pgpool-II node}'
|
IP-Adresse, für die die Heartbeat-Prüfung vorgenommen wird. Der Wert der other_pgpool_hostname0-Einstellung.
|
heartbeat_destination_port0
|
9694
|
Verwenden Sie den Standardwert.
|
heartbeat_device
|
'eth0'
|
NIC-Gerät für die IP-Adresse für die Heartbeat-Kommunikation
|
other_pgpool_hostname0
|
'{IP address of the other Pgpool-II node}'
|
IP-Adresse der anderen pgpool-II-Serverinstanz
|
other_pgpool_port0
|
5432
|
Port, den der andere pgpool-II-Knoten überwacht
|
other_wd_port0
|
9000
|
Port, den die andere pgpool-II-Watchdog-Funktion überwacht
|