返回首页

gbase数据、南大通用产品文档:GBase8a直通模式SQL 语句

更新日期:2024年09月11日

请求网关直接转发sql 语句到dblink 对象对应的远端数据库执行。
语法格式
passthrough link DBLINK_NAME using ‘SQL_STATEMENT’;
说明

DBLINK_NAME 为dbink 对象的名称;

SQL_STATEMENT 为SQL 语句,即远端数据库执行的SQL 语句;

支持的SQL 语句,除以下支持的SQL 类型外,其它类型的SQL 将报错:
insert into … values…
insert into …select ….
delete
update
truncate
merge
create
drop

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
612
示例
passthrough link testlink using ‘create table t1(a int, b int)’;
passthrough link testlink using ‘insert into t1 values(1,2)’;
passthrough link testlink using ‘update t1 set a=11 where a=1’;
passthrough link testlink using ‘delete from t1 where a=11’;
passthrough link testlink using ‘truncate table t1’;
passthourgh link testlink using ‘drop table t1’;
passthourgh link testlink using ‘select * from t2’ – 报错: SQL command is not supported: ‘select *
from t2’
说明
约束与限制:

dblink 对象对应的网关中的数据源配置的用户需有相应的SQL 执行权限;

只支持自动提交模式。若当前执行passthrough 命令的gclusterd 的session 状态为非自
动提交模式将报错:
Can not join the distributed transaction in session

不支持sql_statement 前面有注释。

hot_standby_feedback
参数说明:设置是否允许将备机上执行查询的结果反馈给主机,这可以避免查询冲突。
该参数属于SIGHUP 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:布尔型

on 表示允许将备机上执行查询的最小事务号反馈给主机。

off 表示不允许将备机上执行查询的最小事务号反馈给主机。
默认值:off
须知:当该参数为on 时,主机的旧版本数据的清理会受限于备机正在读的事
务,即主机只允许清理小于备机反馈回来的事务所作的更改。所以,若该参数开启时,会
影响主机的性能。

BINARY
操作符说明
在字符串前使用BINARY 操作符,可以区分大小写进行参数值的比较。
示例
示例1:字符串前不使用BINARY,比较不区分大小写。
gbase> SELECT 'a' = 'A' FROM dual;
+-----------+
| 'a' = 'A' |
+-----------+
|
1 |
+-----------+
1 row in set
gbase> SELECT 'a' = 'a ' FROM dual;
+------------+
| 'a' = 'a ' |
+------------+
|
1 |

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
667
+------------+
1 row in set
示例2:字符串前使用BINARY,比较区分大小写。
gbase> SELECT BINARY 'a' = 'A' FROM dual;
+------------------+
| BINARY 'a' = 'A' |
+------------------+
|
0 |
+------------------+
1 row in set
示例3:字符串前使用BINARY,对尾空格进行比较。
gbase> SELECT BINARY 'a' = 'a ' FROM dual;
+-------------------+
| BINARY 'a' = 'a ' |
+-------------------+
|
0 |
+-------------------+
1 row in set