PostgreSQL:如何添加数据?

PostgreSQL: How to add data?

我有一个 table 包含以下列:

col1 text,
col2 text,
col3 double precision,
col4 double precision,
col5 numeric

我需要像这样保存数据:

text, "text2", "439, 86 [404]", "0,39", "0,11", "37,70%"

我使用这个命令:

test=# COPY dataToImport2 FROM '/opt/DataToImport2.csv' WITH (FORMAT csv);

我收到错误:

ERROR:  invalid input syntax for type double precision: "0,39"
CONTEXT:  COPY datatoimport2, line 1, column summaprodazhtyisrub: "0,39"

我知道我的错误与字符“,”和“%”有关。如果它们被删除或替换,那么一切都很好。

我可以写一些请求来自动获取这个吗?

COPY 无法仅加载输入文件的某些列。

有几种选择:

  • 在 PostgreSQL 外部预处理文件。

  • 将文件按原样加载到临时文件中 table 并 post 处理内容。

  • 使用第三方工具,如 pgLoader。