n_elloco
@n_elloco
Python/Django developer

Как решить проблему при копировании таблицы в PostgreSQL?

Имеется БД, каждый день снимается резервная копия. Но в последнее время возникают ошибки при разворачивании копии. Стали возникать ошибки задублированности данных в дампе, хотя на оригинале дублей не обнаружено. Став копать глубже, выяснил, что при запуске pg_dump вызывается команда COPY. В итоге получил интересную картину

# copy my_table (id, filter_state_id, analytic_pack, view_type, detail_type, top, 
       params_json, code, name) to '/tmp/copy.txt';
$ cat /tmp/copy.txt | grep 43727
43727   4425    AnyData     1       1       7                       AnyName
43727   4425    AnyData     1       1       7                       AnyName

# select * from my_table where id=43727;
  id   | filter_state_id | analytic_pack | view_type | detail_type | top | params_json | code |     name     
-------+-----------------+---------------+-----------+-------------+-----+-------------+------+--------------
 43727 |            4425 | AnyData   |         1 |           1 |   7 |             |      | AnyName
(1 row)


Версия PostgreSQL: 9.4

Собственно вопрос: как такое может быть, откуда команда COPY может брать дубликат записи.
Проверял на другой таблице, где есть версионность данных, там оказалось что под одним Id находятся одинаковые записи но разной версии.
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ответы на вопрос 1
у COPY есть параметр OIDS
попробовать с ним руками сдампить/восстановить
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы