Platforma

Point-in-time recovery

Odtwarzanie bazy do dowolnej sekundy z okna retencji — ciągła archiwizacja WAL.

Point-in-time recovery (PITR) pozwala cofnąć bazę do stanu z wybranej chwili — np. sprzed przypadkowego DELETE bez WHERE — z dokładnością do sekundy. Włączasz je w Baza danych → Point-in-time recovery.

Jak to działa

  • Postgres archiwizuje każdy segment WAL (archive_mode=on, archive_timeout=60s), więc w najgorszym razie tracisz ostatnią minutę.
  • Codziennie wykonywany jest pełny pg_basebackup; kopie bazowe i WAL są trzymane przez czas retencji Twojego planu.
  • Odtworzenie: stos zostaje zatrzymany, katalog danych powstaje z najnowszej kopii bazowej sprzed wskazanej chwili, a WAL jest odtwarzany do recovery_target_time. Potem Postgres jest promowany i usługi startują ponownie.
  • Jeśli odtworzenie się nie powiedzie, poprzedni katalog danych zostaje zachowany, a projekt wraca do pracy.
PlanRetencja PITR
Freeniedostępne (codzienne backupy działają)
Prodo 7 dni
Teamdo 14 dni
Enterprisedo 30 dni
ElementWartość
Okno odtwarzaniaod najstarszej kopii bazowej do ostatniego zarchiwizowanego WAL — panel pokazuje je na osi czasu
Strefa czasowaw panelu wybierasz chwilę w czasie warszawskim; API i MCP przyjmują i zwracają UTC (ISO 8601)
Włączenierestart Postgresa (ok. 10 s) i pierwsza kopia bazowa
Przestój przy odtwarzaniukilka minut — zależy od rozmiaru bazy i ilości WAL; status projektu „Uruchamianie”
Zakrescała baza Postgres (w tym auth i metadane storage). Pliki w Storage nie są cofane — po odtworzeniu metadane mogą wskazywać pliki usunięte lub nowsze

API

# stan i okno odtwarzania
curl -H "Authorization: Bearer hb_pat_..." https://host.ulewicz.space/api/v1/projects/<ref>/pitr

# włącz z 7-dniową retencją
curl -X PUT -H "Authorization: Bearer hb_pat_..." -H "content-type: application/json" \
  -d '{"enabled":true,"retention_days":7}' https://host.ulewicz.space/api/v1/projects/<ref>/pitr

# odtwórz bazę do wskazanej chwili (UTC)
curl -X POST -H "Authorization: Bearer hb_pat_..." -H "content-type: application/json" \
  -d '{"target_time":"2026-10-15T12:34:56Z"}' https://host.ulewicz.space/api/v1/projects/<ref>/pitr/restore

W MCP dostępne są narzędzia get_pitr i restore_pitr — to drugie wymaga parametru confirm_ref (identyfikator projektu) jako zabezpieczenia przed pomyłką. Odtworzenie nadpisuje bieżący stan bazy — jeśli chcesz tylko obejrzeć dane z przeszłości, utwórz gałąź z danymi.