3

我有一个 *.dump 文件(postgresql 转储),我想输出my_tablemy_table.csv. 有没有比pg_restore -t my_table db.dump > my_table.txt然后编写脚本从输出创建 CSV 更好的方法呢?

4

1 回答 1

5

输出pg_restore --data-only -t my_table db.dump基本上制表符分隔的无标题列表文本,带有一些注释和一些额外的命令。perl使用类似or之类的工具将其转换为 csv 的脚本awk非常简单。

也就是说,我个人会:

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

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

通过这种方式,您可以控制 null 和更多的表示

于 2013-08-08T08:05:06.113 回答