瀚高数据库V457-执行快速比较采样SQL时,出现了“tablesample method BERNOULLI does not exist”

数据库版本

瀚高安全版数据库系统V4.5.7, aarch64平台, 创建日期:20250918

执行sql1:

sql 复制代码
select "ZXBH","JZRQ","GRDKZH","DQQC","YWLSH","XuHao","DKYWMXLX" 
from "bsp"."ac0205" TABLESAMPLE BERNOULLI(3.64) 
order by "ZXBH","JZRQ","GRDKZH","DQQC","YWLSH","XuHao","DKYWMXLX"

执行查询:

2026-02-06 11:12:28.177 INFO ImmediateWorker-hg2hg0205a-fastcmp-src203hg05a-tgt203hg05a-ImmediateCreator c.b.p.f.PostgresqlTableAutoSlicer:239 - fast compare sample sql :select "ZXBH","JZRQ","GRDKZH","DQQC"

,"YWLSH","XuHao","DKYWMXLX" from "bsp"."ac0205" TABLESAMPLE BERNOULLI(3.64) order by "ZXBH","JZRQ","GRDKZH","DQQC","YWLSH","XuHao","DKYWMXLX"

2026-02-06 11:12:28.243 ERROR ImmediateWorker-hg2hg0205a-fastcmp-src203hg05a-tgt203hg05a-ImmediateCreator c.b.p.f.PostgresqlTableAutoSlicer:314 - table:ac0205分片失败。

com.highgo.jdbc.util.PSQLException: ERROR: tablesample method BERNOULLI does not exist

Position: 97

先检查抽样方法

执行sql1:

sql 复制代码
SELECT proname, prosrc 
FROM pg_proc 
WHERE proname LIKE '%sample%' OR proname LIKE '%bernoulli%' OR proname LIKE '%system%';

执行查询:

执行sql2:

替换关键字bernoulli小写

sql 复制代码
select "ZXBH","JZRQ","GRDKZH","DQQC","YWLSH","XuHao","DKYWMXLX" 
from "bsp"."ac0205" TABLESAMPLE bernoulli(3.64) order by "ZXBH","JZRQ","GRDKZH","DQQC","YWLSH","XuHao","DKYWMXLX"

换小写关键字可以查询bernoulli

执行查询:

考虑数据库大小写规则

sql 复制代码
SELECT name, setting 
FROM pg_settings 
WHERE name LIKE '%case%' OR name LIKE '%sensitive%';

瀚高数据库大小写规则参数解释

|name |setting|

|----------------------|-------|

|case_sensitive_db |on |

|krb_caseins_users |off |

|lower_case_table_names|1 |

|newcase_sensitive_db |on |

步骤1:修改大小写规则参数

newcase_sensitive_db=off

新增的在oracle模式下,使用"兼容mysql的大小写开关"

会话级修改

SET newcase_sensitive_db TO off;

执行查询:

sql 复制代码
select "ZXBH","JZRQ","GRDKZH","DQQC","YWLSH","XuHao","DKYWMXLX" 
from "bsp"."ac0205" TABLESAMPLE bernoulli(3.64) 
order by "ZXBH","JZRQ","GRDKZH","DQQC","YWLSH","XuHao","DKYWMXLX";

select "ZXBH","JZRQ","GRDKZH","DQQC","YWLSH","XuHao","DKYWMXLX" 
from "bsp"."ac0205" TABLESAMPLE BERNOULLI(3.64) 
order by "ZXBH","JZRQ","GRDKZH","DQQC","YWLSH","XuHao","DKYWMXLX";

此时BERNOULLI、bernoulli抽样方法都可以执行

相关推荐
weixin_460443566 小时前
考试监控大屏为什么不能直接查数据库?WebSocket、Redis与实时数据聚合架构设计
数据库·redis·在线考试系统·培训考试系统·煤矿培训考试系统·煤矿在线考试系统·宏远培训考试系统
风哥2号7 小时前
数据库教程FGMT02‑生产环境Linux+Oracle19c安装配置与项目实战
linux·数据库·ffmpeg
九皇叔叔11 小时前
【第二章】Redis基础入门:Redis是什么、为什么快以及核心特性详解
数据库·redis·缓存
云和恩墨11 小时前
删库不跑路,回滚极速触达——zData S“旁路日志”持续保护原理深剖
数据库
MetaLite11 小时前
SpringBoot接口分层规范-外网网关内部服务与参数边界
java·数据库·spring boot
Wang's Blog13 小时前
Java框架快速入门: Spring Security+OAuth2之元注解简化权限表达式
java·数据库·spring
蓝速科技15 小时前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
QYR-分析15 小时前
重轨受电弓行业深度报告:市场格局、技术迭代与发展前景
大数据·数据库·人工智能
泡泡鱼(敲代码中)16 小时前
MySQL基础学习笔记:从数据模型到DDL全掌握
开发语言·数据库·笔记·学习·mysql
l1t17 小时前
DeepSeek总结的chdb-core v26.7.3发版说明
数据库·clickhouse·oracle