Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
转储PostgreSQL表和所有引用的数据_Postgresql - Fatal编程技术网

转储PostgreSQL表和所有引用的数据

转储PostgreSQL表和所有引用的数据,postgresql,Postgresql,我的目标是转储所有模式,但只转储特定表的一些数据 但是,当我执行pg_dump-t table_name时,这只转储table_name的数据,而不转储来自其他表(外键)的任何引用数据 检索表名的数据和所有引用数据的最简单解决方案是什么?当然,我只希望被引用的数据被转储,而不是被引用表的全部数据 编辑:我忘了提到,在某些情况下,我还希望能够检索引用行的所有数据(另一种方式)。我可以想到的一种方法是: pg_dump -t table_name --Get only schema definit

我的目标是转储所有模式,但只转储特定表的一些数据

但是,当我执行
pg_dump-t table_name
时,这只转储
table_name
的数据,而不转储来自其他表(外键)的任何引用数据

检索
表名
的数据和所有引用数据的最简单解决方案是什么?当然,我只希望被引用的数据被转储,而不是被引用表的全部数据


编辑:我忘了提到,在某些情况下,我还希望能够检索引用行的所有数据(另一种方式)。

我可以想到的一种方法是:

pg_dump -t table_name

--Get only schema definition of referenced table

pg_dump -t other_table -s

--In psql to get only data referenced in child table.

\copy (select * from other_table where ref_key in (select distinct on(ref_fk) ref_fk from table_name)) to 'referenced_data.sql';

我能想到的一种方法是:

pg_dump -t table_name

--Get only schema definition of referenced table

pg_dump -t other_table -s

--In psql to get only data referenced in child table.

\copy (select * from other_table where ref_key in (select distinct on(ref_fk) ref_fk from table_name)) to 'referenced_data.sql';

是的,这就是我目前正在做的。我只是希望我不必手工操作,因为我需要对多个表执行此操作。
pg_dump
不会为您执行此操作。你需要做一些以上的变化。是的,这就是我目前正在做的。我只是希望我不必手工操作,因为我需要对多个表执行此操作。
pg_dump
不会为您执行此操作。你需要做以上的一些变化。你在运行哪个版本的postgres atm?它是postgresql 12你在运行哪个版本的postgres atm?它是postgresql 12