Linux®
![]() | Diese Anleitung bezieht sich auf die Version 17 von PostgreSQL. |
Installation von PostgreSQL
- Stellen Sie eine Verbindung zum PackageManager von TwinCAT Runtime Linux® her, um das entsprechende Paket zu installieren.
- 1. Führen Sie eine Aktualisierung der Pakete durch.
sudo apt update- 2. Installieren Sie den PostgreSQL Datenbank Server.
sudo apt install postgresql-17- 3. Aktivieren Sie den PostgreSQL service.
- Die Datenbank wurde erfolgreich installiert und der Service gestartet.
sudo systemctl start postgresqlInitialisieren von PostgreSQL
- 1. Wechseln Sie zum Datenbank Benutzer
sudo -i -u postgres- 2. Starten Sie psql
psql- 3. Initialisieren Sie die Datenbank.
Initdb- 4. Ändern Sie das Default Passwort von postgres
\password postgres- 5. Beenden Sie psql
\q- 6. Loggen Sie sich aus.
- Die Datenbank wurde erfolgreich initialisiert und gestartet.
exitEinstellungen für Zugriffe über das Netzwerk
- 1. Erstellen Sie eine Konfigurationsdatei im Verzeichnis /etc/nftables.conf.d/ beispielsweise mit dem Namen 00-postgre.conf
sudo nano /etc/nftables.conf.d/00-postgre.conf- 2. Fügen Sie folgenden Inhalt ein und passen Sie die Werte an Ihre Netzwerkanforderungen an:
table inet filter {
chain input {
# accept PostgresSQL
tcp dport 5432 accept
}
}- 3. Speichern und schließen Sie die Konfigurationsdatei.
- 4. Laden Sie die neue Regel mit dem Befehl
sudo systemctl reload nftables- 5. Überprüfen Sie die Einstellungen und stellen Sie sicher, dass die Konfiguration korrekt angewendet wurde.
- Der Port 5432 wurde für die PostgreSQL Datenbank freigegeben.
sudo nft list ruleset- 6. Öffnen Sie postgresql.conf um die „listen_addresses“ anzupassen.
sudo nano /etc/postgresql/17/main/postgresql.conf- 7. Ändern Sie den Eintrag listen_addresses auf '*' und entfernen Sie die # um die Zeile aktiv zu schalten.
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)- 8. Speichern und beenden Sie den Editor.
- 9. Öffnen Sie pg_hba.conf um die Sicherheitseinstellungen anzupassen.
sudo nano /etc/postgresql/17/main/pg_hba.conf- 10. Passen Sie den Eintrag host all all 127.0.0.1/32 an, oder fügen Sie einen neuen hinzu. Ändern Sie die Method auf md5.
- Defaultmäßig ist 127.0.0.1/32 als nur lokal eingetragen. Sollen andere Systeme Zugriff auf die Datenbank erhalten, muss die entsprechende IP-Adresse eingestellt werden.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256- 11. Speichern und beenden Sie den Editor.
- 12. Starten Sie den Service neu.
- Durch die neue Konfiguration ist Ihre Datenbank jetzt über das Netzwerk erreichbar.
sudo systemctl restart postgresqlInstallieren TimescaleDB
- 1. Führen Sie eine Aktualisierung der Pakete durch.
sudo apt update- 2. Installieren Sie im ersten Schritt Zusatzprogramme.
- gnupg
- apt-transport-https
- lsb-release
- wget
sudo apt install gnupg apt-transport-https lsb-release wget- 3. Fügen Sie die TimescaleDB Paketquelle zu TwinCAT Runtime Linux® hinzu.
echo "deb https://packagecloud.io/timescale/timescaledb/debian/ $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/timescaledb.list- 4. Installieren Sie von TimescaleDB den GPG key. Hierbei handelt es sich um eine Signature um Pakete aus der TimescaleDB Paketquelle zu installieren.
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg- 5. Führen Sie eine Aktualisierung der Pakete durch.
sudo apt update- 6. Installieren Sie timescaledb.
sudo apt install timescaledb-2-postgresql-17- 7. Optimieren Sie die Konfiguration für TimescaleDB.
sudo timescaledb-tune- 8. Starten Sie die PostgreSQL Datenbank neu.
- TimescaleDB wurde erfolgreich installiert
sudo systemctl restart postgresqlInitialisieren TimescaleDB
- 1. Wechseln Sie zum Datenbank Benutzer.
sudo -i -u postgres- 2. Starten Sie psql
psql- 3. Fügen Sie die TimescaleDB zu PostgreSQL hinzu.
CREATE EXTENSION IF NOT EXISTS timescaledb;- 4. Prüfen Sie, ob die Installation erfolgreich war.
\dx- 5. Erstellen Sie eine neue Datenbank für PostgresHistorize.
CREATE DATABASE historize_postgres;- 6. Beenden Sie psql.
\q- 7. Loggen Sie sich aus.
- Die Datenbank wurde erfolgreich initialisiert und gestartet.
exitOptimieren der PostgreSQL Konfiguration
Es gibt verschiedene Möglichkeiten, die PostgreSQL-Datenbank für die Nutzung mit TimescaleDB zu optimieren. Eine genaue Übersicht finden Sie auf der Seite TimescaleDB. Deaktivieren Sie „synchronous_commit“ um die Schreibvorgänge auf der Festplatte zu reduzieren.
Hinweis | |
Datenverlust Durch das Deaktivieren der „synchronous_commit“ Funktion, kann es zu Datenverlusten innerhalb der Datenbank kommen. Dies ist zwingend im Zusammenspiel mit Audit Trail zu beachten. |
Deaktivieren der „synchronous_commit“ Funktion (pgAdmin ist ein Zusatzprogramm. Alternativ kann auch die Kommandoanzeige genutzt werden.)
- 1. Öffnen Sie pgAdmin.
- 2. Wählen oder erstellen Sie die Datenbank, in der die Historischen Daten gespeichert werden sollen.
- 3. Öffnen Sie PSQL unter „Tools/PSQL Tool“.
- 4. Geben Sie zum Deaktivieren folgenden Befehl ein.
alter system set synchronous_commit = 'off';- 5. Laden Sie mit nachfolgendem Befehl die Datenbank Konfiguration neu.
SELECT pg_reload_conf();- 6. Öffnen Sie das Query Tool Fenster unter „Tools/Query Tool“
- 7. Prüfen Sie die Konfiguration über den SQL-Befehl.
- Der Eintrag „synchronous_commit“ sollte nun auf „off“ stehen. Die Funktionalität ist deaktiviert.
select * from pg_settingsWeiterführende Informationen
