dienste:bytecluster0002:postgresql

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Vorhergehende Überarbeitung
dienste:bytecluster0002:postgresql [08.03.2025 22:24] (aktuell) – ↷ Seitename wurde von dienste:bytecluster0002:postgresql13 auf dienste:bytecluster0002:postgresql geändert mape2k
Zeile 1: Zeile 1:
 +====== Container 'postgresql' ======
  
 +===== Ressourcen =====
 +
 +  * 1 GB RAM
 +  * 2 Cores
 +  * 5 GB HDD (root-fs)
 +  * 15 GB HDD (/var/lib/postgresql)
 +
 +===== System =====
 +
 +  * interne IPs
 +    * 10.2.0.102, fd00:10:2:0::102
 +    * 10.3.0.102, fd00:10:3:0::102 (PostgreSQL)
 +
 +===== Dienste =====
 +
 +  * PostgreSQL 15
 +
 +===== Datenbanken =====
 +
 +^ Datenbank                  ^ Verwendung                                               ^
 +| synapse                    | Datenbank für [[matrix-synapse]]                         |
 +
 +===== Betrieb =====
 +==== Datenbank und Benutzer anlegen ====
 +
 +  - Benutzer anlegen<code>
 +sudo su - postgres -c "createuser -P username"
 +</code>
 +  - Datenbank anlegen<code>
 +sudo su - postgres -c "createdb databasename"
 +</code>
 +  - Berechtigungen zuweisen
 +    - Zur Datenbank verbinden
 +      * **sudo -u postgres psql**
 +    - Berechtigungen zur Datenbank dem Benutzer zuweisen<code|postgres=#>
 +GRANT ALL PRIVILEGES ON DATABASE databasename TO username;
 +</code>
 +
 +==== Passwort für Benutzer ändern ====
 +
 +  - Zur Datenbank verbinden
 +    * **sudo -u postgres psql**
 +  - Passwort ändern<code|postgres=#>
 +ALTER USER username WITH PASSWORD 'password';
 +</code>
 +
 +===== Installation =====
 +
 +  * Standard-Template mit Benutzern
 +
 +==== PostgreSQL ====
 +
 +  - PostgreSQL-Server installieren
 +    * **apt-get install postgresql postgresql-contrib**
 +  - Benutzerdefinierte Konfiguration anlegen<file|/etc/postgresql/15/main/conf.d/local.conf>
 +listen_addresses = 'localhost, 10.3.0.101, fd00:10:3:0::101'
 +password_encryption = scram-sha-256
 +</file>
 +  - Authentifizierung konfigurieren<file|/etc/postgresql/15/main/pg_hba.conf>
 +...
 +# Network authentication
 +host all all 10.3.0.0/24 scram-sha-256
 +host all all fd00:10:3:0::/64 scram-sha-256
 +</file>
 +  - PostgreSQL neustarten
 +    * **systemctl restart postgresql.service**
 +
 +==== Backup mit Borgmatic ====
 +
 +  - Installation siehe [[mariadb]]
 +  - PostgreSQL-Benutzer anlegen
 +    * **su - postgres**
 +    * **createuser -D -R -s backup -P**
 +  - Konfiguration <file|/etc/borgmatic/config.yaml>
 +...
 +location:
 +    # List of source directories to backup (required). Globs and
 +    # tildes are expanded.
 +    source_directories:
 +        - /etc
 +        - /home
 +        - /root
 +        - /var/log
 +...
 +hooks:
 +    ....
 +    postgresql_databases:
 +        - name: all
 +          hostname: 127.0.0.1
 +          username: backup
 +          password: "PASSWORD_FOR_BACKUP"
 +          format: plain
 +    ....
 +...
 +</file>