pg_dump: сбросить одну таблицу и загрузить в новую, пустую базу - PullRequest
0 голосов
/ 03 июля 2019

Я хочу использовать pg_dump для выгрузки одной таблицы из базы данных и загрузки ее в новую пустую базу данных на другом хосте. Таблицы, которые я хочу вывести в реальном времени в определенных схемах в исходной базе данных, и я не могу определить команду pg_dump для:

  • Включить оператор CREATE SCHEMA для схемы, в которой находится таблица
  • Удалите всю информацию о схеме, чтобы таблица загрузилась в "public".

Простая команда pg_dump, например, так:

pg_dump postgresql://username:password@host:5432/dbname --format plain --file table_name.sql  --table my_schema.my_table

Включает схему в оператор CREATE TABLE, но не включает оператор CREATE SCHEMA, поэтому запуск файла с psql как есть завершается с ошибкой «схема не существует». Я проверил документацию pg_dump и не увидел ничего очевидного, чтобы сделать то, что я ищу, хотя я пытался использовать флаг --create - но это только создает базу данных, а не конкретную схему.

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

Это возможно?

Заранее спасибо.

...