Назад | Перейти на главную страницу

Есть ли простой способ частичного резервного копирования Postgres?

У меня есть база данных, работающая на postgres (8.4), и мне нужны регулярные резервные копии частей этих данных. У нас есть очень важные данные, для которых нам необходимо регулярно создавать резервные копии на случай возгорания оборудования. Но одна и та же база данных содержит огромное количество двоичных данных для каждой записи, которая растет очень быстро (легко превышает 1 ГБ в день). Сейчас эти данные не так критичны. Если мы его потеряем, это конечно раздражает, но было бы приемлемо.

Есть ли простой способ сделать резервную копию некоторые наших таблиц с помощью postgres, или мне нужно вручную писать запросы, чтобы скопировать все куда-нибудь, прежде чем я смогу pgdump?

Бонус: если бы большая двоичная таблица могла просто создать резервную копию последних X записей, это было бы идеально, но я почти уверен, что мне придется делать что-то столь же сложное, как это, вручную.

Я использовал параметр --table для pg_dump, как предложил Марк Вагнер.

Вы можете попробовать КОПИРОВАТЬ команда, но учтите, что это отстой для инкрементных резервных копий.

Другим (возможно, лучшим в зависимости) вариантом может быть сервер горячего резервирования, который вы выключаете и периодически делаете резервные копии (на уровне файловой системы) - это позволяет вам использовать более умные инструменты, которые могут принимать двоичные различия файлов таблиц БД и не должны сосать все это происходит каждый раз, когда вы делаете резервную копию.
Другим преимуществом является то, что у вас есть хорошо знакомый и хорошо поддерживаемый способ восстановления :-)