KROK 01Nech databázi v privátní síti
V Compose se aplikace připojí na název služby db a port 5432. Publikovat port na hostu není potřeba. Následující fragment přidej do Compose projektu; pg_data a pg_password patří také do hlavní úrovně souboru.
services:
db:
image: postgres:18-alpine
restart: unless-stopped
environment:
POSTGRES_DB: app
POSTGRES_USER: app_owner
POSTGRES_PASSWORD_FILE: /run/secrets/pg_password
secrets:
- pg_password
volumes:
- pg_data:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U app_owner -d app"]
interval: 10s
timeout: 5s
retries: 5
volumes:
pg_data:
secrets:
pg_password:
file: ./secrets/pg_password.txtKROK 02Chraň přístupy a vytvoř aplikační roli
Soubor s tajným údajem vytvoř mimo Git s omezenými právy a silným generovaným heslem. app_owner je v tomto image počáteční databázový superuživatel; aplikaci vytvoř samostatnou omezenou runtime roli. Připojovací tajný údaj předej aplikaci bezpečně, host je db. Healthcheck nevytvoří schéma ani nenahradí plán migrace.
KROK 03Volume uchovává data. Nezálohuje je.
PostgreSQL 18 image používá verzované datové adresáře pod /var/lib/postgresql. Starší návody proto nekopíruj automaticky. Hlavní verzi image nikdy neměň bez plánovaného upgradu databáze. Smazáním volume smažeš databázi.
KROK 04Vytvoř a prohlédni logickou zálohu
Spusť ze složky Compose. Vznikne dump ve vlastním formátu s omezeným přístupem. Zálohy kopíruj do odděleného chráněného úložiště a stanov retenci. Dump může obsahovat citlivé údaje.
umask 077
mkdir -p backups
docker compose exec -T db pg_dump -U app_owner -d app -Fc > backups/app.dump
docker compose exec -T db pg_restore --list < backups/app.dumpKROK 05Obnov do oddělené testovací databáze
Výpis obsahu není test obnovy. Dump obnov do samostatné testovací databáze s kompatibilní verzí PostgreSQL a rozšířeními, pak ověř aplikační dotazy. Zapiš dobu obnovy a porovnej ji s cílem. Destruktivní restore nikdy nezkoušej proti živé databázi.
COPY → YOUR AI
Vezmi si další krok do svého chatu.
Bezpečný kontext k tomuto návodu. Žádné tajné údaje. Funguje pro ChatGPT, Claude i další asistenty.
Zdroje a technická dokumentace
PostgreSQL backup documentation ↗Official PostgreSQL container ↗Postup je vzor pro uvedené předpoklady. Před použitím na živém serveru ověř kompatibilitu svého projektu a konkrétní konfiguraci.