这似乎现在可能(自 2016 年 6 月 3 日起)
请参阅:https ://blogs.aws.amazon.com/bigdata/post/Tx1GQ6WLEWVJ1OX/JOIN-Amazon-Redshift-AND-Amazon-RDS-PostgreSQL-WITH-dblink
在上面的文章中,他们给出了一个从 redshift 复制到其他数据库的示例:
为了清楚起见,我将使用 (postgres cluster) 和 (redshift cluster) 进行注释
将数据从 Amazon Redshift 复制到 RDS PostgreSQL
创建表的 SQL:(postgres 集群)
CREATE TABLE sales_summary (
saletime timestamp,
sellerid int,
sales decimal
);
[...]
以下查询显示了如何使用 dblink 函数将数据插入到表中:
副本是从(redshift 集群)到(postgres 集群)
INSERT INTO sales_summary
SELECT *
FROM dblink('foreign_server',$REDSHIFT$
SELECT date_trunc('hours', saletime) AS ts, sellerid, sum(pricepaid) sales
FROM sales
WHERE saletime >= '2008-01-01'
AND saletime < '2008-02-01'
GROUP BY ts, sellerid
ORDER BY sales
$REDSHIFT$) AS t1 (saletime timestamp, sellerid int, sales decimal);
编辑:我已经在生产中使用它来每天加载数百万行的表,而且我没有遇到任何与之相关的问题。所以我会推荐它作为从 Redshift 加载到 RDS-postgres 的首选方法(与复制相反,或者更糟糕的是,使用 ORM 将数据加载到内存中)