|
Przyrostowa kopia zapasowa bazy SQL
czarownik - 03-11-2009 17:01
Witam. Ostatnio zastanawiam się nad procedurą przyrostowej kopii zapasowej postgresta, do tej pory robię to za pomocą skryptu, ale baza robi się coraz większa i większa, przydałoby się jakoś to podzielić. Znacie jakiś sposób żeby za pomocą skryptu robić przyrostowe kopie zapasowe i raz w tygodniu całościowe?
Ister - 04-11-2009 10:10
Nie jestem na 100% pewien, ale zdaje się, że ta (i mnóstwo innych) funkcjonalność dostępna jest przez slony. Ja w każdym bądź razie tam bym szukał. Choć może być i tak, że to jest strzelanie z armaty do muchy, a sam postgres ma coś wbudowane?
grzesiek - 04-11-2009 19:30
Nie wiem jak jest w przypadku PostgreSQL ale tam tez na pewno baza jest w postaci jednego pliku więc dodanie jednego wiersza zmienia cały plik, a kopie przyrostowe działają na zasadzie, że sprawdzają, który plik był zmieniany ostatnio - tu zawsze będzie jeden. Może rozwiązaniem będzie skrypt z użyciem SQL; wybierasz o 23:58 wpisy, które zostały dodane tego dnia i kopiujesz je do nowej tabelki w nazwie z datą i znajdującej się w bazie danych backup - a potem taką bazę zrzucasz. Na prawdę ta baza jest taka duża, że chcesz przyrostowe kopie robić?
lessmian2 - 04-11-2009 21:12
ale tam tez na pewno baza jest w postaci jednego pliku
Aż sprawdziłem z ciekawości ;-)
krogulec:/var/lib/postgresql/8.4/main/base# find ./ -type f | wc -l 2801
PostgreSQL posiada wbudowany mechanizm tworzenia kopii przyrostowych - zwie się to Point in Time Recovery. Możesz o tym poczytać w oficjalnej dokumentacji lub np. tu.
czarownik - 05-11-2009 17:30
Dziękuję serdecznie, jakoś nie mogłem na to trafić.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|