Заставить дамп postgres использовать копию вместо INSERTS - PullRequest
1 голос
/ 12 ноября 2009

При восстановлении некоторых резервных копий базы данных я заметил, что 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

Есть идеи?

Thx.

Ответы [ 2 ]

4 голосов
/ 12 ноября 2009

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

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

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

1 голос
/ 12 ноября 2009

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

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