доброго времени суток, товарищи.
Только начал знакомиться с базами вообще и pgsql в частности, извините если будут совсем глупые вопросы.
есть бэкап на 4гб, через restore и в pgadmine через тотже restore он съедаться не желает, выдает
pg_restore: [archiver] input file does not appear to be a valid archive
Предложили другой вариант -
"c:\Program Files\PostgreSQL\9.1\bin\psql" -U postgres -d namebase <%1
так она нормально восстанавливается в существующую пустую базу.
Вопрос 1: что такое <%1
?
Далее- восстановление будет выполняться через батник
Как временное решение -просто обращение к файлу бекапа, который прописан как выполняемый батником с кодом выше.
Вопрос 2: как можно в батнике с кодом выше передать параметром имя файла бэкапа и обращаться сразу к консоли, а не окольными путями?
Вопрос 3: если восстановление делается через restore, указывается --clean для очистки существующей базы, но восстанавливаем не рестором, поэтому нужно в батнике как-то указать очистку существующей базы, либо ее удаление и пересоздание- собственно как?
Заранее благодарю за помощь.
методом тыка нашел как
методом тыка нашел как прописать имя файла бекапа в код:
"c:\Program Files\PostgreSQL\9.1\bin\psql" -U postgres -d namebase <C:\xxx\xxx.backup
остается вопрос как в батнике прописать очистику либо удаление и пересоздание базы.
вообщем в конечном итоге
вообщем в конечном итоге батник у мня пришел к виду:
Если это можно как-то элегантней сделать- всегда готов выслушать, спасибо за подсказки.
Подсказка только одна.
Подсказка только одна. Внимательно прочитайте в мануале раздел "Резервное копирование и восстановление"
Узнаете много интересного. Кстати и первоначальный вопрос там вполне себе раскрыт