Заставить дамп postgres использовать копию, а не INSERTS

При восстановлении некоторых резервных копий базы данных я заметил, что pg_dump на самом деле использует INSERTS, а не COPY. Я даже не указываю флаг -d, но он по-прежнему использует INSERTS для каждой базы данных/таблицы, которую я пытаюсь сбросить, поэтому восстановление занимает часы, а не минуты.

Согласно pg docs, pg_dump должен использовать COPY по умолчанию, но в моем случае это не так. Есть ли способ убедиться, что pg_dump использует COPY ?

Вот команда pg_dump:

pg_dump -Fp -t some_table -h localhost -d thisDB -f /some_dir/bkup

Любые идеи ?

Спасибо.


person Ad.    schedule 12.11.2009    source источник


Ответы (2)


вы указываете -d !!!!!:

pg_dump -Fp -t some_table -h localhost -d thisDB -f /some_dir/bkup
                                      ^^^^

К счастью -d больше нет.

person Community    schedule 12.11.2009
comment
Привет, ты прав, я перепутал -d для базы данных. Спасибо что подметил это. - person Ad.; 12.11.2009

В опубликованной вами командной строке вы фактически указываете флаг -d, хотя кажется, что вы пытаетесь использовать его для указания используемой базы данных. Вместо этого попробуйте следующее:

pg_dump -Fp -t some_table -h localhost -f /some_dir/bkup thisDB
person Pär Wieslander    schedule 12.11.2009