尝试从csv文件复制数据时出现UTF编码错误
Error invalid by sequence for encoding...
SQL State: 22021
Context Copy mydatabase line 165
我想知道是否可以跳过引发错误的行。我知道可以使用header
命令跳过第一行,但我获得的行不在第一行。我想在Postgres中找到一个解决方案,而不是让我进入另一个程序的解决方案。
答案 0 :(得分:1)
不幸的是,that functionality hasn't been integrated into PostgreSQL。我所知道的最快的解决方法是使用sed过滤掉错误的输入行。如果你真的必须保持基于PostgreSQL的解决方案,我知道除了使用PL / pgsql或其他过程语言接口来读取数据之外别无选择。
答案 1 :(得分:1)
您可以使用PGLoader,这是PostgreSQL的数据加载工具。 COPY命令是单个事务,因此所有数据都将被导入,或者都不导入。 PGLoader具有事务行为,它将保留一个单独的拒绝数据文件,但将继续尝试在数据库中复制良好的数据。