Как я могу получить дамп psql одной конкретной таблицы и всех ее зависимостей?

#sql #postgresql #pg-dump

#sql #postgresql #pg-дамп

Вопрос:

У меня есть база данных с таблицей учетных записей( в ней 3 учетные записи) и несколькими другими таблицами, в которых в качестве внешнего ключа указан идентификатор учетной записи в таблице учетных записей. Теперь мой запрос таков: я хочу получить дамп 1-й учетной записи в таблице учетных записей и всех связанных с ней таблиц (например, таблицы и строки, в которых в качестве внешнего ключа используется 1-я учетная запись account_id).

Я попытался вручную указать все имена таблиц в команде : pg_dump --column-inserts -a -t zones_seq -t interway -t table_3 ... gt; /tmp/zones_seq.sql Но это не сработало. Любая помощь, пожалуйста..

Комментарии:

1. Вы не можете сбрасывать определенные строки с pg_dump помощью .

2. Спасибо, Адриан, за твой ответ. Если это невозможно с помощью pg_dump, есть ли у нас какой-либо альтернативный способ достижения моей цели? (Как и любой клиентский инструмент и т. Д.)

3. Ваша pg_dump команда показывает, что вы хотите только сбросить данные, но ваше описание подразумевает, что вам также нужны определения таблиц. Не могли бы вы уточнить это более конкретно в качестве дополнения к вашему вопросу. Быстрая идея состояла бы в том, чтобы выполнить a CREATE TABLE accts_table_1 AS select * from accts_table where id =1 и повторить для других таблиц, а затем pg_dump для этих таблиц.