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.
| Plan | Retencja PITR |
|---|---|
| Free | niedostępne (codzienne backupy działają) |
| Pro | do 7 dni |
| Team | do 14 dni |
| Enterprise | do 30 dni |
| Element | Wartość |
|---|---|
| Okno odtwarzania | od najstarszej kopii bazowej do ostatniego zarchiwizowanego WAL — panel pokazuje je na osi czasu |
| Strefa czasowa | w panelu wybierasz chwilę w czasie warszawskim; API i MCP przyjmują i zwracają UTC (ISO 8601) |
| Włączenie | restart Postgresa (ok. 10 s) i pierwsza kopia bazowa |
| Przestój przy odtwarzaniu | kilka minut — zależy od rozmiaru bazy i ilości WAL; status projektu „Uruchamianie” |
| Zakres | cał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.