GBase 8c
其他
问答
跨库联表查询的SQL问题
发表于2025-08-08 09:40:5766次浏览1个评论
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【GBase版本】:8C
【操作系统】:ky10.aarch64
【CPU】:x86
【问题描述】*:本地跨库联表查询(本地库a 跨 本地库b)除了使用dblink还有其它语法可实现?
评论
登录后才可以发表评论
GBase用户137发表于 11个月前
最佳回答
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25052
- 42023-09-25浏览数:18521
- 52020-05-11浏览数:17526
通过创建外部表映射其他库中的表,支持跨库查询:
-- 创建外部数据包装器
CREATE EXTENSION postgres_fdw;
-- 创建服务器连接
CREATE SERVER remote_server FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host 'localhost', dbname '库b');
-- 创建用户映射
CREATE USER MAPPING FOR current_user SERVER remote_server
OPTIONS (user '用户名', password '密码');
-- 创建外部表映射库b中的表
CREATE FOREIGN TABLE local_b_table (
id int,
name text
) SERVER remote_server OPTIONS (schema_name 'public', table_name '源表名');
-- 跨库联表查询
SELECT * FROM 库a.本地表 a JOIN local_b_table b ON a.id = b.id;