Ich habe ja im obigen Beispiel, den gesamten Ordner von der Postgres Installation gesichert.
backup_pfad_postgres="/home/pguser/db-data"
Ich habe dann mal ein wenig in der Dokumentation gelesen und das hier gefunden.
https://www.postgresql.org/docs/current/app-pgdump.html
Einfach den Ordner zu sichern, ist ja bei jeder Datenbank ein gewisses Risiko. Die Konsistenz der Daten ist nicht gesichert. Darum gibt es bei den Datenbanken auch immer Tools, mit denen man die Daten sichern kann. In der Doku steht folgendes.
pg_dump — extract a PostgreSQL database into a script file or other archive file
Aber wichtiger ist das hier.
pg_dump is a utility for backing up a PostgreSQL database. It makes consistent backups even if the database is being used concurrently. pg_dump does not block other users accessing the database (readers or writers).
Das macht also konsistente Backups. Wichtig noch zu wissen ist folgendes.
pg_dump only dumps a single database. To back up an entire cluster, or to back up global objects that are common to all databases in a cluster (such as roles and tablespaces), use pg_dumpall.
Ok, das scheint gut geeignet zu sein, um die Datenbank zu sichern. Aber, wie? Auf meinen Eingangsbeitrag kam es zu folgendem Dialog auf Mastodon.
https://nrw.social/deck/@nebucatnetzer@social.linux.pizza/114132208440509237
Das war der Anstoß sich mit dem Thema zu beschäftigen. Und ich hatte dann folgende Lösung.
podman exec -it postgres pg_dump -U postgres -f /var/lib/postgresql/data/dump.txt
Ok, was mache ich hier? Wir führen einen Befehl vom Host aus gesehen, im Container aus.
podman exec -it postgres
Der Teil führt den folgenden Befehl im Container aus.
pg_dump -U postgres -f /var/lib/postgresql/data/dump.txt
pg_dump - Das Tool fürs Backup
-U postgres - Der Befehl wird als User postgres ausgeführt
-f /var/lib/postgresql/data/dump.txt - Das Dump File wird im Data Ordner abgelegt, den haben wir ja persistent auf dem Host.
Somit kann ich das jetzt einfach in mein Backup Script einbauen und brauchen nicht mehr den ganzen Ordner zu kopieren, sondern nur noch das Dump File. Ich werde diese Änderungen in das obige Script einbauen.