前提:微服务框架,内部系统之间需要跨库查询,数据库PostgreSQL
方式一:分开查询,java拼接,必要时可存入缓存
方式二:PostgreSql的postgres_fdw功能,建立外部表
CREATE EXTENSION postgres_fdw;
--创建 foreign server 外部服务器,外部服务是指连接外部数据源的连接信息
CREATE SERVER foreign_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host 'www.baidu.com', port '1921', dbname 'student-dev');
--需要给外部服务创建映射用户
CREATE USER MAPPING FOR hello
SERVER foreign_server
OPTIONS (user 'hello', password 'hellopassword');
--建立需要的的外部表,注:需要定义相关字段到本库中
CREATE FOREIGN TABLE hello_student
(student_id int,
student_name varchar(50),
class_name varchar(50),
status int,
deleted int)
server foreign_server
OPTIONS (schema_name 'public', table_name 'hello_student');
创建之后可跟其它普通表一样进行查询、联查。
本文介绍了在微服务框架下,如何利用PostgreSQL的postgres_fdw扩展来实现内部系统间的跨库查询。通过创建外部服务器、映射用户和外部表,可以像操作本地表一样方便地查询远程数据库,提高数据交互效率。
747

被折叠的 条评论
为什么被折叠?



