在Postgres中使用dblink有什么捷径吗?

Joe*_*Joe 5 postgresql syntax dblink cross-database

在Postgres中,您可以使用链接到其他数据库dblink,但语法非常详细.例如,您可以这样做:

SELECT *
FROM dblink (
    'dbname=name port=1234 host=host user=user password=password',
    'select * from table'
) AS users([insert each column name and its type here]);
Run Code Online (Sandbox Code Playgroud)

有没有办法更快地做到这一点?也许预先定义连接?

我注意到Postgres有一个create foreign table连接MySQL数据库的新功能.它的语法比dblink.我能用吗?

Pet*_*aut 7

在PostgreSQL 8.4及更高版本中,您可以使用外部数据包装器功能来定义连接参数.然后,您只需在dblink命令中引用外部服务器名称.请参阅文档中的示例.

在PostgreSQL 9.1及更高版本中,您可以使用外部数据包装器功能来定义外部表,从而透明地访问远程数据库,而根本不使用dblink.为此,您需要获取postgresql_fdw包装,但尚未包含在任何生产版本中,但您可以在互联网上找到实验代码.在实践中,这条路线更像是未来的选择.