人大金仓数据库KingbaseES 跨库连接dblink使用

本文介绍了KingbaseES中的Dblink插件,包括如何通过KDB_Database_link连接不同数据库,创建和配置数据链,以及使用dblink_connect()进行连接操作。重点讲解了连接设置、查询、插入更新和删除数据链的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键字:

Dblink,fdw,人大金仓,KingbaseES

概述

Dblink是一个支持从数据库会话中连接到其他kingbase数据库的插件,支持对相关库进行数据操作。

KDB_Database_link是kingbase为了兼容oracle语法开发的跨数据库访问扩展,可以用于访问kingbase,postgresql,oracl。

创建及操作流程

      1. 2.1检查环境

Isql –verison

Odbcinst –j

      1. 2.2连接kingbase
        1. 2.2.kdb_database_link连接方式,配置shared参数

将kdb_database_link加入到参数中且必须放至最后,其需要其他插件项的依赖

          1. 2.2.1.1创建扩展并更改配置文件

Kdb_database_link实际上是在kingbase.fdw上层进行包装,需要kingbase.fdw扩展,以system用户连接,创建组件:

        1. Create extension kdb_database_link;
        2. Create extension kingbase_fdw;

Kdb_database_link扩展创建后,会生成data目录下sys_database_link.conf文件,用于配置服务名,在创建database link时使用

          1. 2.2.1.2创建扩展并更改配置文件
        1. Create database link ‘dblink’ connect to ‘system’ identified by ‘123456’ using ‘kingbaseV8R6’

dblink:创建连接的名称

system:被连接库使用的用户

kingbaseV8R6:配置好的连接串,在sys_database_link.conf中配置

数据链创建完成后,更新连接信息在pg_foreign_server和pg_user_mapping中

          1. 2.2.1.2数据链验证,进行数据操作

①进行查询操作:

Select * from public.test_time@dblink;

②插入更新操作:

Insert intopublic.test_time@dblink values('2022-09-11 01:15:55','2023-09-12 02:15:55');

Update public.link@dblink set id = 3 where id = 1;

③删除数据链

Drop database link public.dblink;

        1. 2.2.dblink_connect()连接方式
          1. 2.2.1创建dblink插件,建立connect

Create extension dblink;

Select * from dblink_connect(‘dblnk’,’host=10.11.1.46 port=54321 user=system password=123456 dbname=kingbase’)

          1. 2.2.2跨数据库查询
          2. ①查询连接表信息

Select * from dblink(‘dblink’,’select id from public.link’)as link_bak(id int);

          1. ②存放至临时表或视图

create temp table link_temp as select * from dblink('dblink','select * from public.link') as link_bak(id int);

Create view link_view as select * from dblink('dblink','select * from public.link') as link_bak(id int);

③删除连接

Select dblink_disconnect(‘dblink’);

④不创建连接操作

Select * from dblink(‘host=10.11.1.46 port=54321 user=system password=123456 dbname=kingbase’,’select * from public.link’);

总结:dblink优势在于随取随用,无需创建对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值