|
Восстановление базы 1С из дампа PosgreeSQL | ☑ | ||
---|---|---|---|---|
0
Nikoss
18.03.17
✎
07:25
|
Винда сервер 2012
Делаю так "C:\Program Files\PostgreSQL\9.1.2-1.1C\bin\psql.exe" -U postgres b123 < "E:\123.dump" Непредвиденная лексема "-U" в выражении или операторе. Непредвиденная лексема "postgres" в выражении или операторе. Оператор "<" зарезервирован для использования в будущем. и т.д. Пробовал убирать "-U", "posgres", "<". Ничего не получается. Что я делаю не так? |
|||
1
Звездец
18.03.17
✎
08:04
|
ой ты наверное сейчас еще скажешь что и гуглил? в документации все написано
http://postgresql.ru.net/manual/backup-dump.html#BACKUP-DUMP-RESTORE |
|||
2
ansh15
18.03.17
✎
10:52
|
v8: Помогите с BACKUP в Postgres, не выгоняя пользователей в 1С
По ссылке в (1) и здесь https://postgrespro.ru/docs/postgrespro/9.6/app-pgdump можно почитать более подробно о том, что каждый параметр pg_dump означает. |
|||
3
Nikoss
18.03.17
✎
11:43
|
(1), ну правильно, там и написано:
Общий вид команды для восстановления дампа: psql имя_БД < файл_дампа |
|||
4
Nikoss
18.03.17
✎
11:45
|
может я не там пишу? я пишу в powershell
|
|||
5
ansh15
18.03.17
✎
12:08
|
(3) Последний абзац - "Следующая команда делает дамп базы данных, используя специальный формат дампа:
pg_dump -Fc имя_БД > имя_файла Специальный формат дампа не является скриптом для psql и должен восстанавливаться с помощью команды pg_restore, например: pg_restore -d имя_БД имя_файла" Нужно восстанавливать посредством pg_restore. psql имя_БД < файл_дампа не годится для баз 1С. Рекомендации 1С по этому поводу есть на ИТС. |
|||
6
Nikoss
18.03.17
✎
12:16
|
(5)
PS C:\Windows\system32> "C:\Program Files\PostgreSQL\9.1.2-1.1C\bin\pg_restore.exe" -d b123 E:\testdump\b123.dump строка:1 знак:61 + "C:\Program Files\PostgreSQL\9.1.2-1.1C\bin\pg_restore.exe" -d b123 E: ... + ~~ Непредвиденная лексема "-d" в выражении или операторе. строка:1 знак:64 + "C:\Program Files\PostgreSQL\9.1.2-1.1C\bin\pg_restore.exe" -d b123 E: ... + ~~~~~~~~~~~~~~ Непредвиденная лексема "b123" в выражении или операторе. + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : UnexpectedToken |
|||
7
ansh15
18.03.17
✎
12:27
|
(6) Попробуй всю строку заключить в кавычки, PowerShell определенным образом интерпретирует и ковычки и пробелы.
Вот, почитал... http://windowsnotes.ru/powershell-2/powershell-i-kavychki/ |
|||
8
Nikoss
18.03.17
✎
14:28
|
мда, попробовал положить команду из (0) в бат. Все заработало.
(7), а в кавычках он мне просто все что в них есть дублирует в строку ниже и всё. Будто я ему сказал "напечатай, что я напечатал") |
|||
9
ansh15
18.03.17
✎
23:42
|
(8) http://windowsnotes.ru/powershell-2/zapusk-programmy-iz-powershell/
& 'C:\Program Files\PostgresPro 1C\9.6\bin\pg_dump.exe' "-Fc" "-b" "-fC:\pgsql\bench.bak" "bench" & 'C:\Program Files\PostgresPro 1C\9.6\bin\pg_restore.exe' "-dbench" "C:\pgsql\bench.bak" База bench должна быть вновь созданной. Так работает. |
|||
10
rphosts
19.03.17
✎
05:56
|
делаю дамп базы:
SET PGBIN=C:\Program Files\PostgreSQL\9.4.2-1.1C\bin\ SET PGDATABASE=<base> SET PGHOST=127.0.0.1 SET PGPORT=5432 SET PGUSER=<admdb> SET PGPASSWORD=<pswdadmdb> "C:\Program Files\PostgreSQL\9.4.2-1.1C\bin\pg_dump.exe" -i -b -v -E UTF-8 -f C:\PG_Backup\Dump\dump_base_<base>.sql восстанавливаю (перед восстановлением в консоли адм пг удаляю базу, если она есть): SET PGBIN=C:\Program Files\PostgreSQL\9.4.2-1.1C\bin\ SET PGDATABASE=<base> SET PGHOST=127.0.0.1 SET PGPORT=5432 SET PGUSER=<admdb> SET PGPASSWORD=<pswdadmdb> createdb.exe psql -f D:\dump_base_<base>.sql >D:\restore_<base>.log где <base> - имя базы <admdb> - суперюзер постгри <pswdadmdb> - пароль суперюзера |
|||
11
rphosts
19.03.17
✎
05:58
|
разумеется всё из батников... бэкап делается по расписанию... ну и вручную, если внезапно приспичило
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |