| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > как через SQLObject или psycopg сделать dump базы |
| Автор: pythonwin 15.6.2006, 14:47 |
| Всем доброго времени суток! Можете помочь? как через SQLObject или psycopg сделать dump базы PostgreSQL? |
| Автор: J2A 15.6.2006, 15:27 |
| а Python при чем? Если PostgreSQL умеет (а, AFAIR, не умеет) делать дамп по SQL-запросу/вызову хранимой функции, то так же как и любой другой SQL-запрос. AFAIK, сделать можно только через pg_dump, его вполне можно из Python-программы вызвать. |
| Автор: pythonwin 15.6.2006, 15:51 | ||||
Можно сделать так:
Но вот туд и начинается самое интересное - выходит сообщение:
Где нужно ввести пароль руками, а это уже слабо тянет на автоматизацию И еще один момент - я не хочу зависеть от: 1) прописан ли путь к pg_dump.exe 2) И не хочу цепляться к путям, типа "C:\program files\postgresql\"... OS - WinXP SP2 postgresql-8.0.4 |
| Автор: dvska 16.6.2006, 16:51 |
| > не желатьльно использовать команду > pg_dump.exe > Можно сделать так: > import os > user="postgres" > db="DBNAME" > filename="/%s.sql"%db > os.system("pg_dump --username=%s %s --file=%s"%(user, db, filename)) > Но вот туд и начинается самое > интересное - выходит сообщение: > Password: > Где нужно ввести пароль руками, а это > уже слабо тянет на автоматизацию Задай в файле %APPDATA%\postgresql\pgpass.conf ( у меня, например, это D:\Documents and Settings\dvs\Application Data\postgresql\pgpass.conf ) права в виде hostname:port:database:username:password ( см. http://www.postgresql.org/docs/8.1/interactive/libpq-pgpass.html ), и не прописывай --username вовсе. >И еще один момент - я не хочу зависеть от: > 1) прописан ли путь к pg_dump.exe > 2) И не хочу цепляться к путям, типа > "C:\program files\postgresql\"... Странный ты человек ;) Прописал имя базы, имя юзера, имя файла экспорта, а путь уже не можешь. Ну тогда добавь путь к каталогу Program Files\PostgreSQL\8.1\bin\ в переменную окружения PATH > OS - WinXP SP2 > postgresql-8.0.4 Да, и обнови Postgres до последней версии. |
| Автор: pythonwin 19.6.2006, 08:08 |
| Спасибо за совет! но файл "pgpass.conf" у меня вообще НЕТ! Прошу указать другой файл. PS сейчас мигрировать postgresql 8.1.x не могу. у меня postgresql 8.0.4 |