|
|
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
Дано: PG 9.4 2 сервера на win64, тестовый и боевой база ~ 20 гб (мелкая, т.к. пока на начальном этапе) время от времени база на тестовом сервере синхронизируется через backup/resture. pg_dump -a -w -b -Ft -f db.bk db dropdb --if-exists db pg_restore.exe -C -d postgres -e db.bk Проблема. C одного момента рестор обламывается. pg_restore: [архиватор (БД)] сбой команды COPY для таблицы ... : ОШИБКА: не т данных для колонки "..." КОНТЕКСТ: COPY таблица, строка 711728: "1336641 2 22 \N \N \N 1 2 16777215 \N \N \N \N \N \N \N \N \N \N" смотрел это место в файле глазами, принципиальных отличий от предыдущих строк не заметил. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2015, 14:37 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
_avz, http://www.postgresql.org/docs/devel/static/app-pgdump.html Ключик -Fc спасает, рекомендую. Восстановление в несколько потоков - существенно быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2015, 16:40 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕН, с ключом -Fc размер бэкап получился в 10 раз меньше, что подозрительно :) А пока - начал извращения с частичными бэкапами (где проблемные таблицы исключены ключом -T ) Проблемные таблицы бэкапил отдельно в текстовый формат и ресторил psql-ем. И вот прикол. psql успешно залила в одну из этих таблиц ровно столько же, сколько в боевой базе, и выдала сообщение о дублирующемся pk и конкретное значение ключа. Прошёлся поиском по файлу бэкапа, дубля там нет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 07:32 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
В целом удалось восстановить базу вышеуказанным образом. Причём это работает только с текстовым форматом, с бинарным вылетает на трёх таблицах. Ладно, пусть теперь работает так, но "что это было?" (c) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 08:30 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
_avz, Проверьте уникальность ключа в боевой базе: Код: sql 1. Были баги приводящие к поврежденным индексам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 10:14 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
vyegorov, эт проверил сразу же. даже в файле бэкапа дублей не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 11:26 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
_avz, когда вы накатывали бэкап, таблицу очищяли? а то могли накатывать бэкап на существующие данные, в итоге дубли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 12:30 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
Lonepsycho, по моей схеме восстановление шло так: 0. dropdb 1. restore -C -s (только метаданные) 2. restore непроблемных таблиц, двоичный формат 3. psql проблемных таблиц, текстовый формат на 3 шаге на одной из этих пробл.табл. psql и выдала сей мессидж, причём только для одной записи. выходит, я что-то напутал и запустил один из скриптов 3 шага второй раз. сейчас соберу всё в один батник и проверю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 13:35 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
...товарищи, есть объяснение, почему с двоичным форматом не прокатывает, а с текстовым - да ...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 13:38 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
_avzLonepsycho, по моей схеме восстановление шло так: 0. dropdb 1. restore -C -s (только метаданные) 2. restore непроблемных таблиц, двоичный формат 3. psql проблемных таблиц, текстовый формат на 3 шаге на одной из этих пробл.табл. psql и выдала сей мессидж, причём только для одной записи. выходит, я что-то напутал и запустил один из скриптов 3 шага второй раз. сейчас соберу всё в один батник и проверю. Код: sql 1. ?Ы так в текстовом надо лог ошибок писать. или -1 ставить. одно дело оно на копи опнулось. другое -- один инсерт не прошёл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 14:25 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
qwwq, да, забыл. Ключик --disable-triggers - используется. перед проблемными таблицами в psql alter table disable triggers all ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 14:31 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
выходит, я что-то напутал и запустил один из скриптов 3 шага второй раз. сейчас соберу всё в один батник и проверю. ...проверил, отработало без ошибок. Значит тогда таки напутал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 14:38 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕН_avz, Ключик -Fc спасает, рекомендую. Восстановление в несколько потоков - существенно быстрее Позавчера, получив с ключом -Fc размер бэкапа в несколько раз меньше, я усомнился в его валидности и не стал проверять восстановление, а зря. Сегодня руки дошли, проверил - restore отработало без ошибок. Так что спасибо, буду использовать -Fc. PS почему размер меньше выходит - я так понял, потому, что запись идёт в реально бинарном формате, в то время как при -Ft по факту текстом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 08:20 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
_avz Позавчера, получив с ключом -Fc размер бэкапа в несколько раз меньше, я усомнился в его валидности и не стал проверять восстановление, а зря. Сегодня руки дошли, проверил - restore отработало без ошибок. Так что спасибо, буду использовать -Fc. PS почему размер меньше выходит - я так понял, потому, что запись идёт в реально бинарном формате, в то время как при -Ft по факту текстом. Ещё попробуйте вместе с восстановлением из сделанного бэкапа указать ключик -j <N> Где <N> - число потоков. Будет побыстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 15:47 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕН, спасибо, так и сделал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2015, 06:46 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
_avzПозавчера, получив с ключом -Fc размер бэкапа в несколько раз меньше, я усомнился в его валидности и не стал проверять восстановление, а зря. Сегодня руки дошли, проверил - restore отработало без ошибок. Так что спасибо, буду использовать -Fc. PS почему размер меньше выходит - я так понял, потому, что запись идёт в реально бинарном формате, в то время как при -Ft по факту текстом. Для формата custom (-Fc) по умолчанию включено сжатие. Потому и меньше размер выходного файла. Есть мнение , что встроенное сжатие работает очень медленно. Возможно есть смысл его отключить (--compress=0), а вывод pg_dump отправлять на внешний, более быстрый архиватор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2015, 17:22 |
|
||
|
невосстановимый backup
|
|||
|---|---|---|---|
|
#18+
Павел Лузанов, в час укладывается - пока ладно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2015, 12:50 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39133442&tid=1997544]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
166ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 489ms |

| 0 / 0 |
