PolarDB O引擎提供了DBLink功能,您可以通过DBLink功能实现跨库查询数据。本文介绍如何通过DBLink跨库查询数据。
前提条件
注意事项
目前仅支持在源集群上查询目标集群数据,不支持在目标集群上查询源集群数据。
参数配置
PolarDB O引擎提供了polar_enable_pushable_unsafe_collate_remote和polar_enable_pushable_all_any_remote参数,用于提升查询性能。
- polar_enable_pushable_unsafe_collate_remote(会话级别参数):支持unsafe collate下推,默认打开。
如果关闭该参数,部分函数因为考虑collate规则,不会主动下推。
- 打开命令:
SET polar_enable_pushable_unsafe_collate_remote = on;
- 关闭命令:
SET polar_enable_pushable_unsafe_collate_remote = off;
- 打开命令:
- polar_enable_pushable_all_any_remote(会话级别参数):支持ALL/ANY下推,默认打开。
如果关闭该参数,部分ALL/ANY表达式则不会下推。
- 打开命令:
SET polar_enable_pushable_all_any_remote = on;
- 关闭命令:
SET polar_enable_pushable_all_any_remote = off;
- 打开命令:
操作步骤
示例
在目标数据库中创建一个用于测试的表test
,并在表中插入测试数据。命令如下:
CREATE TABLE test(id int);
INSERT INTO test VALUES(1);
连接源数据库,执行如下查询命令:
SELECT * FROM test@dblinkname;
查询结果如下:
id
----
1
(1 row)