1) Greenplum 不是普通的 postgres,但它是相似的。它有一些新的语法,但总的来说是高度一致的。
2) Greenplum 本身提供了一个叫做“gpfdist”的东西,它可以让你监听一个你指定的端口,以便引入一个文件(但是文件必须被拆分)。您需要可读的外部表。他们相当快。语法如下所示:
CREATE READABLE EXTERNAL TABLE schema.ext_table
( thing int, thing2 int )
LOCATION (
'gpfdist://server:port1/path/to/filep1.txt',
'gpfdist://server:port2/path/to/filep2.txt',
'gpfdist://server:port3/path/to/filep3.txt'
) FORMAT 'text' (delimiter E'\t' null 'null' escape 'off') ENCODING 'UTF8';
CREATE TEMP TABLE import AS SELECT * FROM schema.ext_table DISTRIBUTED RANDOMLY;
如果您遵守他们的规则并且您的数据是干净的,那么加载速度可能会非常快。
3) 您不需要 python 来执行此操作,尽管您可以通过使用 python 启动 gpfdist 进程来自动化它,然后向 psql 发送一个创建外部表并加载数据的命令。取决于你想做什么。