欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

Postgres数据库安装、配置、使用DBLink的实例详解

2025年07月15日 MsSqlserver
一、技术背景1.1 背景随着业务复杂程度的提高、数据规模的增长,越来越多的公司选择对其在线业务数据库进行垂直或水平拆分,甚至根据业务场景选择不同的数据库类型以满足其业务需求。与此同时,业务的数据被&l

一、技术背景

1.1 背景

随着业务复杂程度的提高、数据规模的增长,越来越多的公司选择对其在线业务数据库进行垂直或水平拆分,甚至根据业务场景选择不同的数据库类型以满足其业务需求。与此同时,业务的数据被“散落”在各个数据库实例中。如何方便地对这些数据进行汇总查询,已经成为困扰使用者的一大问题。

针对这类问题,我们可以使用基于dblink的解决方案,使用者通过在一个数据库实例中就可以查询到多个数据库实例中的数据。

1.2 什么是 dblink

dblink技术源于oracle,我们可以登录上一个oracle数据库实例,建立一个dblink指向另一个远程的网络联通的oracle数据库实例。

现在,基本上主流的数据库都支持dblink 操作。

  • dblink和数据库实例一一对应,对于postgresql来说,对应的就是postgresql数据库所在的ip+port+database
  • dblink可以指向postgresql、sqlserver、mysql、oracle等;
  • 使用者可通过创建dblink时获取到的连接名,对远端的数据库实例进行操作;

二、安装配置 dblink

我在本地的一台 windows 电脑上装了postgres14数据库,另一个数据库实例在一台linux服务器的docker容器中,使用这2个pg 数据库实例进行下面所有的演示。

2.1 安装 dblink

一般我们在安装 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 数据库中已经安装的插件,就已经有了:

2.2 配置 dblink

找到 pg 数据库的 postgresql.confpg_hba.conf 这2个配置文件࿰

到此这篇关于postgresql的扩展 dblink及安装使用方法的文章就介绍到这了,更多相关postgresql扩展 dblink内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!