Имя: Пароль:
1C
 
Бэкап базы PostgreSQL. Как его вообще делать?
0 budidich
 
14.11.07
11:08
Подскажите, не могу разобраться с бэкапом базы на PostgreSQL.
Нашел вот эту инструкцию:
http://www.computerbooks.ru/books/Programming/Book-SQL/Glava%209/Index7.htm
Но: архивирование с помощью файла pg_dump требует ввода пароля вручную, так что автоматически скопировать базу не получается.
Понять, где именно база лежит на диске тоже не могу.
1 budidich
 
14.11.07
11:33
Люди, как вы архивируете вашу базу?
2 budidich
 
14.11.07
13:05
ап
3 k23
 
14.11.07
13:52
подложи pgpass.conf тому пользователю, под которым бекап делается.
если system, то сюда:
C:\Documents and Settings\Default User\Application Data\postgresql\pgpass.conf
в файле:
localhost:5432:*:user:password
4 k23
 
14.11.07
13:57
по дефаулту база здесь xxxPostgreSQLxx\data\base\
5 DSS
 
21.01.08
18:40
Подскажите, пожалуйста. Делаю бэкап в Postgresql - все нормально, ошибок 0.
Когда загружаю, то:
1. Если загружаю в не пустую базу - вылезает множество ошибок и база на загружается. Я так понял, он не удаляет старую информацию а дополняет ее из бэкапа в результате чего получаются записи с одинаковым ключом.
2. Если загружать в пустую базу - выдает только ошибку:

pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 2659; 2612 16386 PROCEDURAL LANGUAGE plpgsql postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  language "plpgsql" already exists
Command was: CREATE PROCEDURAL LANGUAGE plpgsql;

и в конце пишет:

WARNING: errors ignored on restore: 1
Process returned exit code 1.,

но база загружается.

В связи с этим, вопросы:

1.Это так и должно быть, что restore базы выполняется только в пустую базу?
6 k23
 
22.01.08
06:01
строка бэкапа:
pg_dumpall.exe --clean --oids --username=postgres >%db_temp%

восстановление:
psql.exe -U postgres -h remote_pc -f %db_temp%

у меня полный бэкап/восстановление.
у вас, вероятно не указан --clean при выгрузке.
7 DSS
 
22.01.08
11:39
(6) спасибо. Только в моем случае -с надо ставить при загрузке, а не выгрузке.
8 borik
 
22.01.08
11:44
(6) А аналог дифференциального как в MS SQL возможен? Сколько не рыл, так и не нашёл можно ли в принципе как-то его делать...
9 Lmn
 
22.01.08
12:47
Черт, потерял довери к бекапу PostgreSQL после того как при восстановлении с бэкапа pg_restore вылетала с ошибкой "No buffer space available ...". Как бороться?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn