![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
Всем доброго времени суток!
Можете помочь? как через SQLObject или psycopg сделать dump базы PostgreSQL? |
|||
|
||||
| J2A |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 17.11.2005 Где: Омск Репутация: 16 Всего: 18 |
а Python при чем? Если PostgreSQL умеет (а, AFAIR, не умеет) делать дамп по SQL-запросу/вызову хранимой функции, то так же как и любой другой SQL-запрос.
AFAIK, сделать можно только через pg_dump, его вполне можно из Python-программы вызвать. --------------------
Be easy, stay cool |
|||
|
||||
| pythonwin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
Можно сделать так:
Но вот туд и начинается самое интересное - выходит сообщение:
Где нужно ввести пароль руками, а это уже слабо тянет на автоматизацию И еще один момент - я не хочу зависеть от: 1) прописан ли путь к pg_dump.exe 2) И не хочу цепляться к путям, типа "C:\program files\postgresql\"... OS - WinXP SP2 postgresql-8.0.4 |
||||
|
|||||
| dvska |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 30.1.2006 Репутация: 6 Всего: 9 |
> не желатьльно использовать команду
> 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/interac...bpq-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 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
Спасибо за совет!
но файл "pgpass.conf" у меня вообще НЕТ! Прошу указать другой файл. PS сейчас мигрировать postgresql 8.1.x не могу. у меня postgresql 8.0.4 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |