Как создать резервную копию одной таблицы в базе данных postgres?

Есть ли способ создать резервную копию одной таблицы в базе данных с помощью postgres? И как? Это также работает с командой pg_dump?

Ответ 1

Используйте --table чтобы сообщить pg_dump какую таблицу нужно сделать для резервного копирования:

pg_dump --host localhost --port 5432 --username postgres --format plain --ignore-version --verbose --file "<abstract_file_path>" --table public.tablename dbname

Ответ 2

Если вы находитесь на Ubuntu,

  • Войти к вашему пользователю postgres sudo su postgres
  • pg_dump -d <database_name> -t <table_name> > file.sql

Убедитесь, что вы выполняете команду, в которой пользователь postgres имеет права на запись (пример: /tmp)

Edit

Если вы хотите сбросить .sql на другом компьютере, вам может потребоваться пропустить информацию о владельце, сохраненную в файле .sql.

Вы можете использовать pg_dump --no-owner -d <database_name> -t <table_name> > file.sql

Ответ 3

pg_dump -h localhost -p 5432 -U postgres -d mydb -t my_table> backup.sql

Вы можете сделать резервную копию одной таблицы, но я бы предложил создать резервную копию всей базы данных, а затем восстановить любую нужную таблицу. Всегда хорошо иметь резервную копию всей базы данных.

9 способов использовать pg_dump

Ответ 4

Если вы предпочитаете графический пользовательский интерфейс, вы можете использовать pgAdmin III (Linux/Windows/OS X). Просто щелкните правой кнопкой мыши по таблице по вашему выбору, затем выберите "backup". Он создаст для вас команду pg_dump.

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Ответ 5

В дополнение к ответу Фрэнка Хайкена, если вы хотите использовать операторы INSERT вместо copy from stdin, вам следует указать флаг --inserts

pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename --inserts dbname

Обратите внимание, что я --ignore-version флаг --ignore-version, потому что он устарел.