PostgreSQL 提供了通过 dblink 查询远程数据库的方式。
同样地(有点类似),Exasol 通过以下语法提供了连接到远程 Postgres 数据库的方法:
CREATE CONNECTION JDBC_PG
TO 'jdbc:postgresql://...'
IDENTIFIED BY '...';
SELECT * FROM (
IMPORT FROM JDBC AT JDBC_PG
STATEMENT 'SELECT * FROM MY_POSTGRES_TABLE;'
)
-- one can even write direct joins such as
SELECT
t.COLUMN,
r.other_column
FROM MY_EXASOL_TABLE t
LEFT JOIN (
IMPORT FROM JDBC AT JDBC_PG
STATEMENT 'SELECT key, other_column FROM MY_POSTGRES_TABLE'
) r ON r.key = t.KEY
通过直接导入数据从PostgreSQL到Exasol非常方便,无需使用临时文件(例如csv、pg_dump等)。
从Snowflake是否也可以实现同样的功能?也就是通过直接在线连接,从Snowflake查询远程PostgreSQL数据库。我在文档中没有发现任何提及此事的内容。