![]() |
Нужно дописать запрос в pg_dump.exe
В реверсинге я ноль, поэтому прошу помощи.
Есть консольная утилита pg_dump.exe (поставляется вместе с PostgreSQL сервером). Она создает архив базы данных. Нужно дописать туда запрос для удаления архивированных записей. Смысл в том, что база увеличивается на 5 гигов в день, нужно чтобы утилита делала архив, и все заархивированные записи удаляла из базы. Думаю дело пяти минут, особенно для тех, кто работал с постгрес. Кто сделает с меня много плюсафф. :) |
_http://depositfiles.com/files/zsvtlhmg1
Собственно сама прога у кого нет |
Зачем все так усложнять? Ты ведь pg_dump по крону выполняешь? Хотя если ты и вручную делаешь бэкап, то гораздо легче после завершения создания архива выполнять SQL-команды для удаления ненужных записей, т.е. сначала выполняешь pg_dump, а потом команду:
echo "truncate table tablename;" | psql database -q -t http://www.postgresql.org/docs/7.4/static/app-psql.html |
Цитата:
То есть если сделать как ты предлагаешь, на момент запуска pg_dump.exe база будет содержать например 1000000 записей - 1000000 заархивируется, а когда после завершения работы я буду чистить таблицы, они будут содержать 1000253 записи => 253 записи будут утеряны. Следовательно я вижу такой вариант: программа записала sql команду по вставке строки в дамп - строку удалила и т.д. |
Цитата:
Примерно так: Код:
count = $(echo "select count(*) from tablename;" | psql database -q -t); |
Видимо придется так и делать. Просто думал что дописать в экзешник команду будет быстрее...
|
| Время: 01:27 |