我有一个* .dump文件(postgresql dump),我想将my_table
输出到my_table.csv
。有没有比pg_restore -t my_table db.dump > my_table.txt
更好的方法来执行此操作,然后编写脚本以从输出创建CSV?
答案 0 :(得分:5)
pg_restore --data-only -t my_table db.dump
基本上的输出是制表符分隔的无标题表格文本,带有一些注释和一些额外的命令。使用perl
或awk
等工具将其分解为csv的脚本非常简单。
那就说,我个人会:
将表还原到为此目的创建的临时数据库。如果表格依赖于自定义类型,函数,序列等,您还需要恢复它们。
在psql
,\copy the_table TO 'some_file.csv' WITH (FORMAT CSV, HEADER ON)