本来想的是gpfdist导入,因为这个工具并行的,速度快。但是我的原postgresql库里有lo(large object)数据,大致看了下postgresql的COPY TO,并没有找到导出csv格式包含lo的参数。pg_dump倒是可以导出lo数据,但是貌似导出来的都是sql script,这个格式的好像也不能用gpfdist导入。
请问有解决方案吗?
本来想的是gpfdist导入,因为这个工具并行的,速度快。但是我的原postgresql库里有lo(large object)数据,大致看了下postgresql的COPY TO,并没有找到导出csv格式包含lo的参数。pg_dump倒是可以导出lo数据,但是貌似导出来的都是sql script,这个格式的好像也不能用gpfdist导入。
请问有解决方案吗?
答案就直接从另一个社区的回答中复制出来了,当然是我自己的解决方案。之前因为
pg_dump导出plain text遇到高版本postgresqlbytea输出格式为hex的问题走了不少弯路,其实只需要导出二进制数据就可以导入greenplum了。希望对遇到同样问题的人有所帮助I found out an easier way to work: just use
pg_dump -b -Fcto export data including LO into a custom file, later usepg_restoreof the same version ofpg_dumpwhich you used to export data to import the custom file data into greenplum.Scripts: