前提:微服务框架,内部系统之间需要跨库查询,数据库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');
创建之后可跟其它普通表一样进行查询、联查。