TwinCAT Runtime Linux®

TwinCAT Runtime Linux® 1:

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 postgresql

Initialisieren 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.
exit

Einstellungen 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.
Hinweis Alternativ kann auch 0.0.0.0/0 als IP-Adresse genommen werden, in diesem Fall werden alle Anfragen zugelassen. Dies kann ein Sicherheitsrisiko darstellen!
# 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 postgresql