Guide til PostgreSQL (Ubuntu 22.04)
Installere
For å installere PostgreSQL, kjør følgende kommando
sudo apt install postgresql postgresql-contrib
PostgreSQL er nå installert og tilgjengelig på localhost port 5432.
Eksponere på annen IP
I PostgreSQL konfigurasjonsfilen:
/etc/postgresql/14/main/postgresql.conf
Finn linjen med «listen_addresses» og fjern kommentaren. Du kan nå sette den til IP-adressen du ønsker at PostgreSQL skal lytte på.
Merk at du i tillegg må tillate brukere å koble på. Dette gjøres i filen
/etc/postgresql/14/main/pg_hba.conf
Her kan du spesifisere hvilke IPer som skal kunne koble seg på. Eventuelt kan du velge alle IPer: 0.0.0.0/0.
Point-in-time recovery (PITR)
Med point-in-time recovery kan man sette en database tilbake til et bestemt tidspunkt. Dette er nyttig om man skulle ha behov for data slik de var på et helt bestemt tidspunkt.
Hvordan gjennopprette en backup
Man bør ha en server klar med samme versjon av PostgreSQL som den backupen ble utført på. Denne kaller vi recovery-server. Serveren vi gjennoppretter backup fra kaller vi kilde-server.
1. På recovery-serveren, stop postgresql.
2. Ta vare på databasen eller slett den.
/var/lib/postgresql/14/main
3.Ta en full backup og legg den i mappen.
4. Sett riktige rettigheter
sudo chown -R postgres:postgres main chmod 700 /var/lib/postgresql/14/main
5. Legg WAL-filene i en mappe, feks /opt/deploi/wal. Sett korrekte rettigheter.
cp -r <PITR> /opt/deploi/wal sudo chown postgres:postgres -R /opt/deploi/wal
6. Sett ønsket tidspunkt og config i postgres-config-filen
vi /etc/postgresql/14/main/postgresql.conf restore_command = 'cp /opt/deploi/wal/%f %p' recovery_target_time = '2025-03-03 15:56:00'
7. Sett databasen til recovery modus
touch /var/lib/postgresql/14/main/recovery.signal
8. Start databasen for å starte gjennopprettingen. Du kan følge progresjonen i postgres sin loggfil.
systemctl start postgresql tail /var/log/postgresql/postgresql-14-main.log -f