我正在尝试使用gpload功能将3GB(2400万行)csv文件加载到greenplum数据库但我一直收到以下错误
错误 -
invalid byte sequence for encoding "UTF8": 0x8d
我有tried solution provided by Mike,但对我来说,我的client_encoding和文件编码已经是相同的。两者都是UNICODE。
数据库 -
show client_encoding;
"UNICODE"
档案 -
file my_file_name.csv
my_file_name.csv: UTF-8 Unicode (with BOM) text
我也浏览过Greenplum的documentation,它说外部文件和数据库的编码应该匹配。它在我的情况下匹配但不知何故它失败了。
我也上传了类似的小文件(相同的UTF-8 Unicode(带BOM)文本)
任何帮助表示赞赏!
发布在另一个线程中 - 使用iconv
命令从文件中删除这些字符。 Greenplum默认使用字符集UTF-8
进行实例化,并要求所有字符都是指定的字符集。您还可以选择使用EXTERNAL TABLE的LOG ERRORS子句记录这些错误。这将捕获错误数据,并允许您继续设置在创建期间指定的LIMIT。
iconv -f utf-8 -t utf-8 -c file.txt
将清除您的UTF-8文件,跳过所有无效字符。
-f is the source format
-t the target format
-c skips any invalid sequence