我不想使用%s
将数据导出到sql脚本中,因为当我要导入大量数据时,将其提供给greenplum群集太慢了。所以似乎使用greenplum pg_dump
是首选。我有什么方法可以做到这一点吗?
或者作为替代方案,我可以将特定Postgres表的数据导出到包含该表的大型或对象的CSV格式文件中吗?
答案 0 :(得分:0)
Accoridng to greenplum reference:
最简单的数据加载方法是SQL INSERT语句......
您可以使用COPY命令在数据时将数据加载到表中 在外部文本文件...
您可以使用一对Greenplum实用程序gpfdist和gpload将外部数据加载到表格中......
然而,如果你想使用csv导入数据,你可以用大对象生成csv" filename"将您与pg_largeobject
联系起来。例如:
b=# create table lo (n text,p oid);
CREATE TABLE
b=# insert into lo values('wheel',lo_import ('/tmp/wheel.PNG'));
INSERT 0 1
b=# copy (select lo.*, pg_largeobject.pageno, pg_largeobject.data from lo join pg_largeobject on lo.p = loid) to '/tmp/lo.csv' WITH (format csv, header);
COPY 20
生成的/tmp/lo.csv
将以csv格式包含名称,oid和数据bytea。