|
Помогите скопировать базу PostgreSQL | ☑ | ||
---|---|---|---|---|
0
AlexYurg
07.10.11
✎
22:20
|
Знатоки PostgreSQL, помогите!
Пытаюсь целиком скопировать базу "DB1" в другую базу "DB2": pg_dump -Fc -b -f test.backup DB1 pg_restore -d DB2 test.backup pg_dump проходит нормально, а pg_restore ругается, сыпет ошибками, что, мол, в базе это уже есть. Как ему объяснить, что я хочу просто заменить содержимое второй базы на зеркальную копию первой? |
|||
1
Варвар
07.10.11
✎
22:31
|
http://www.postgresql.org/docs/8.4/static/app-pgrestore.html
-c --clean Clean (drop) database objects before recreating them. |
|||
2
AlexYurg
07.10.11
✎
22:36
|
(1) Точно! Спасибо! А я как-то прозевал этот ключик!
Чита-читал, блин... |
|||
3
AlexYurg
07.10.11
✎
22:51
|
(1) Не помогло. Все равно ругается.
Может быть, надо сервер 1С предприятия останавливать перед рестором? (Не хотелось бы, т.к. в других базах люди работают) |
|||
4
ilkoder
07.10.11
✎
23:06
|
Не надо ничего останавливать, у нас каждый час дамп делается и никого не выкидываем. Только базу (в которую будешь копировать) лучше сначала создать пустую средствами 1с, потом в процессе востановления сначала пишет кучу ошибок - и пофигу на них, потом появляется в консоли сообщение - "create shema" - значит начала создаваться - вот после этого ошибок быть не должно. Постоянно так копию рабочей базы для экспериментов делаю.
|
|||
5
AlexYurg
07.10.11
✎
23:22
|
(4) Не хотелось бы создавать базу средствами 1С вручную,
мне нужно простое автоматическое копирование из bat-файла. В этом случае ключа (1) достаточно? |
|||
6
ansh15
08.10.11
✎
00:11
|
(0) DB2 удалите, создайте ее же заново, а потом pg_restore
|
|||
7
ansh15
08.10.11
✎
00:16
|
dropdb DB2
createdb DB2 pg_restore ... |
|||
8
AlexYurg
08.10.11
✎
13:55
|
dropdb не проходит, говорит что в базе сидят два пользователя.
Хотя никто там не сидит, это точно, разве что сам сервер 1С... Что с этим делать? |
|||
9
AlexYurg
08.10.11
✎
14:37
|
Продолжение к (8)
Попробовал остановить сервер 1С - не помогло. Все равно говорит, что база используется двумя другими сеансами. |
|||
10
ansh15
08.10.11
✎
14:51
|
(9)В диспетчере задач, в процессах посмотрите зависшие процессы, ну и завершите их. Можно службу postgresql перезапустить, тогда они сам отвалятся.
|
|||
11
AlexYurg
08.10.11
✎
18:00
|
Всем спасибо, особенно, ansh15. Вроде разобрался.
pg_dump / dropdb / createdb / pg_restore - работает нормально. Правда, pg_restore все равно ошибки выдает и возвращает errorlevel = 1. |
|||
12
pwei
08.10.11
✎
19:00
|
я psql использую. на линуксе. не знаю, есть ли в винде.
|
|||
13
AlexYurg
08.10.11
✎
20:48
|
(12) psql в винде есть. Спасибо за идею. Попробую.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |