如何以psql可导入的格式导出postgres查询的结果集?

时间:2013-08-28 18:35:21

标签: postgresql psql pgadmin

使用psql有办法做一个select语句,其中输出是一个insert语句列表,这样我就可以在其他地方执行那些insert语句。

SELECT * FROM foo where some_fk=123; 

应输出

INSERT INTO foo 
(column1,column2,...) VALUES 
('abc','xyyz',...),
('aaa','cccc',...),
 .... ; 

我可以重新发送文件说export.sql然后我可以使用psql -f export.sql导入该文件 我的目标是以一种格式移动导出select语句的结果,我可以将其导入具有完全相同表结构的另一个数据库实例。

1 个答案:

答案 0 :(得分:1)

查看--inserts

pg_dump选项
pg_dump -t your_table --inserts -f somefile.txt your_db

根据需要编辑生成的文件。

对于子集,正如IgorRomanchenko所提到的,您可以使用带有SELECT语句的COPY。

以CSV格式复制的示例。

COPY (select * from table where foo='bar') TO '/path/to/file.csv' CSV HEADER