SELTA/PATCHAVTO/EFFECT
Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску
Вывод в командной строке, при правильных действяих при обновлении БД PostgreSQL@ETERSOTFT с версии 8.2.* на 8.3.*
Шаг первый
$ ./firststep
firststep. Script for backup from postgresql@etersoft 8.2.* files and patched for postgresql@etersoft 8.3.*
You can use all defaul parameters from top of this file or write it on command line.
$firststep [name database] [user database] [name file backup] [name file patched backup] [name file log]
$firststep --help this help
For example:
$firststep test postgres BackUp.sql BackUpPatched.sql LogPatched.log
or
$firststep test postgres
Other parameters will used default.
Now will use all parameters will used default.
Create backup with parameters:
Name database:'test'
User database:'postgres'
File for backup:'BackUp.sql'
pg_dump -F p test > BackUp.sql -U postgres
open file BackUp.sql for read backup ... ok.
open file BackUpPatched.sql for write patched backup ... ok.
open file LogPatched.log for write patched backup ... ok.
start search ...
Must finded 3 cut
find 1 cut
Replaced 9 string must be 9 ok
find 2 cut
Replaced 9 string must be 9 ok
find 3 cut
Replaced 0 string must be 0 ok
Finded all without warnings!!!
В результате выполнения этого шага, записывается log файл процесса патча быкапа(по умолчанию LogPatched.log).
Патч должен быть максимально похож на Правильный лог патча.
В логе имеются строки:
String 82 in file BackUp.sql. Past this string:
Где:
- String 82 -- строка исходного файла
- BackUp.sql -- имя исхдного файла
- Past this string: -- строки которые идут далее были вставлены
String 82 in file BackUp.sql. Skip this string:
Где:
- Skip this string: -- строки которые идут далее были пропущены (не вставлены п пропвченый файл)
Набор вставленных и пропущенных строк, у лога, который получился у Вас и правильного лога патча должен совпадать.
Шаг второй
$ ./secondstep
secondstep. Script restore from patched for postgresql@etersoft 8.3.* backup
You can use all defaul parameters from top of this file or write it on command line.
$secondstep [name database] [user database] [name file patched backup] [name file log restore]
$secondstep --help this help
For example:
$secondstep test postgres BackUpPatched.sql RestoreLog.log
or
$secondstep test postgres
Other parameters will used default.
Now will use all parameters will used default.
This script will drop database test. Continue? [yes/no]:yes
Drop database test
dropdb test -U postgres
Create database test:
createdb -T template0 test -U postgres
Restore database test
Restore database with parameters:
Name database:'test'
User database:'postgres'
File for backup:'BackUpPatched.sql'
File log:'RestoreLog.log'
psql -o RestoreLog.log -d test -f BackUpPatched.sql -U postgres
В результате выполнения этого шага, записывается лог файл (по умолчанию RestoreLog.log). Лог не должен соделжать ошибок.