平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Postgres数据库安装、配置、采用DBLink的实例”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
在这个场景下,随着业务复杂程度的提高、数据规模的增长,越来越多的公司选择对其在线业务数据库进行垂直或水平拆分,甚至根据业务场景选择不同的数据库类型以满足其业务需求。与此同时,业务的数据被“散落”在各个数据库实例中。如何便于地对这些数据进行汇总查询,已经成为困扰采用者的一大问题。
结合项目来看,针对这类问题,能够采用基于DBLink的解决方案,采用者借助在一个数据库实例中就能够查询到多个数据库实例中的数据。
结合项目来看,DBLink技术源于Oracle,我们能够登录上一个Oracle数据库实例,建立一个DBLink指向另一个远程的网络联通的Oracle数据库实例。
现在,基本上主流的数据库都兼容DBLink 操作。
理解这一步时,我在本地的一台 Windows 电脑上装了postgres14数据库,另一个数据库实例在一台Linux服务器的Docker容器中,采用这2个PG 数据库实例进行下面所有的演示。
实际处理时,一般我们在安装 PostgreSQL 数据库的时候,不管是二进制包还是源码包,都已经有了DBLink插件,只是这个插件没有嵌入到PostgreSQL数据库中,我们借助以下命令查看PostgreSQL数据库中可用的插件:
select * from pg_available_extensions;
执行后发现可用的插件很多,需分页显示。

借助 SQL select * from pg_available_extensions where name like '%dblink%'; 发现 PostgreSQL数据库中提供了 DBLink 可供安装:

落到代码里,若你的PG数据库是借助源码编译安装的,那么可能借助这个SQL查到的结果发现并没有DBLink,这时你需切换到PG的源码包目录,执行如下所示命令:
cd contrib/dblink
make
make install
这时再借助上面的SQL就能够查询到DBLink插件了。
也可借助以下 SQL 查询已安装的PG 插件:
select * from pg_extension;

我们能够借助以下 SQL 在 PG 数据库中安装 DBLink 插件:
create extension dblink;
我们再查询PG 数据库中已经安装的插件,就已经有了:

找到 PG 数据库的 postgresql.conf 和 pg_hba.conf 这2个设置文件
到此这篇关于PostgreSQL的扩展 dblink及安装采用方法的文章就介绍到这了,更多相关PostgreSQL扩展 dblink内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多兼容脚本之家!
tplink5620与6300区别是什么(tplink5620与6300区别详解)
tplink路由器无线信道选哪个好(tplink路由器无线信道选择推荐)
tplink百兆路由器怎么改成千兆(tplink百兆路由器改成千兆方法)
tplink百兆路由器哪个好(tplink百兆路由器选择推荐)
postgres 数据库迁移的几种做法实用指南
PostgreSQL中rank()窗口函数实用指南与示例实用指南