如何将* .dump文件中的表提取到CSV中

时间:2013-08-07 21:41:39

标签: database postgresql psql pg-restore

我有一个* .dump文件(postgresql dump),我想将my_table输出到my_table.csv。有没有比pg_restore -t my_table db.dump > my_table.txt更好的方法来执行此操作,然后编写脚本以从输出创建CSV?

1 个答案:

答案 0 :(得分:5)

pg_restore --data-only -t my_table db.dump基本上的输出是制表符分隔的无标题表格文本,带有一些注释和一些额外的命令。使用perlawk等工具将其分解为csv的脚本非常简单。

那就说,我个人会:

  • 将表还原到为此目的创建的临时数据库。如果表格依赖于自定义类型,函数,序列等,您还需要恢复它们。

  • psql\copy the_table TO 'some_file.csv' WITH (FORMAT CSV, HEADER ON)

这样你可以control the representation of nulls and lots more