vfc*_*sts 5 postgresql copy csv
PostgreSQLCOPY命令是否可以选择将 CSV 列映射到的字段?
PostgreSQLCOPY命令似乎期望目标表与其列完全匹配。我错过了什么还是它实际上是如何工作的?
是否有一些替代命令可以启用它?
dez*_*zso 13
这绝对有可能 - 有用的文档再次出现:
COPY table_name [ ( column_name [, ...] ) ]
FROM { 'filename' | PROGRAM 'command' | STDIN }
[ [ WITH ] ( option [, ...] ) ]
Run Code Online (Sandbox Code Playgroud)
这意味着您可以执行以下操作:
COPY my_table (mt_id, mt_name, mt_created_by, ...)
FROM 'filename' [...]
Run Code Online (Sandbox Code Playgroud)
您不能做的是引用 CSV 文件的列。为了克服这一点,可以创建一个具有匹配的列数和类型的中间表,将其COPY放入,然后INSERT ... SELECT ...到最终目的地。根据Patrick7 的一个重要评论,中间表可以定义为UNLOGGED,当表很大时,可以节省大量的 WAL 开销。
| 归档时间: |
|
| 查看次数: |
11226 次 |
| 最近记录: |