Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как через SQLObject или psycopg сделать dump базы, dump базы PostgreSQL 
:(
    Опции темы
pythonwin
  Дата 15.6.2006, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Всем доброго времени суток!

Можете помочь?

как через SQLObject или psycopg сделать dump базы PostgreSQL? 
PM WWW GTalk Jabber   Вверх
J2A
Дата 15.6.2006, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 17.11.2005
Где: Омск

Репутация: 16
Всего: 18



а Python при чем? Если PostgreSQL умеет (а, AFAIR, не умеет) делать дамп по SQL-запросу/вызову хранимой функции, то так же как и любой другой SQL-запрос.

AFAIK, сделать можно только через pg_dump, его вполне можно из Python-программы вызвать. 
--------------------
Be easy, stay cool
PM MAIL WWW Jabber   Вверх
pythonwin
Дата 15.6.2006, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Можно сделать так:
Код

import os
user="postgres"
db="DBNAME"
filename="/%s.sql"%db
os.system("pg_dump --username=%s %s --file=%s"%(user, db, filename))

Но вот туд и начинается самое интересное - выходит сообщение: 
Код

Password:


Где нужно ввести пароль руками, а это уже слабо тянет на автоматизацию

И еще один момент - я не хочу зависеть от:
1) прописан ли путь к pg_dump.exe
2) И не хочу цепляться к путям, типа "C:\program files\postgresql\"...

OS - WinXP SP2
postgresql-8.0.4 
PM WWW GTalk Jabber   Вверх
dvska
Дата 16.6.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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 до последней версии.  
--------------------
PM MAIL   Вверх
pythonwin
Дата 19.6.2006, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Спасибо за совет!

но файл "pgpass.conf" у меня вообще НЕТ!

Прошу указать другой файл.

PS сейчас мигрировать postgresql 8.1.x не могу.

у меня postgresql 8.0.4  
PM WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0442 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.