首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持Azure DB for postgres服务器中的跨数据库查询

支持Azure DB for postgres服务器中的跨数据库查询
EN

Stack Overflow用户
提问于 2019-04-27 21:49:06
回答 1查看 276关注 0票数 0

Azure DB for Postgres Server是否支持跨数据库查询?Azure SQL数据库不支持跨数据库查询,其中Azure SQL托管实例和弹性池支持跨DB查询!

EN

回答 1

Stack Overflow用户

发布于 2020-10-07 21:07:14

如果你在Azure Postgres服务器中禁用了“拒绝公共网络访问”,并在“连接安全”下启用了“允许访问其他Azure资源”,你可以使用dblink扩展:

代码语言:javascript
复制
CREATE EXTENSION dblink;

SELECT dblink_connect('[connection_alias]','host=[azure_pg_hostname] port=5432
dbname=[other_db_name] user=[username]@[azure_pg_hostname] password=[password] sslmode=require');

SELECT * FROM dblink('[connection_alias]', 'select [field1], [field2] from public.[remote_table_name]') 
AS t([field1] [data type], [field2] [data type]);

或外部数据包装器扩展:

代码语言:javascript
复制
CREATE EXTENSION postgres_fdw;

CREATE SERVER [connection_alias]
FOREIGN DATA WRAPPER postgres_fdw  
OPTIONS (host '[azure_pg_hostname]', dbname '[other_db_name]', port '5432');

CREATE USER MAPPING FOR ([user_name] | CURRENT_USER)
SERVER [connection_alias]
OPTIONS (user '[user_name]@[azure_pg_hostname]', password '[password]');

CREATE FOREIGN TABLE [local_table_name] ( 
[field1] [data type], [field2] [data type]
)
SERVER [connection_alias]
OPTIONS (schema_name 'public', table_name '[remote_table_name]');

SELECT * from [local_table_name];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55881205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档