瀚高数据库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抽样方法都可以执行

相关推荐
Database_Cool_21 分钟前
阿里云 RDS MySQL vs 腾讯云 CDB 国内云关系型数据库深度对比
数据库·mysql·阿里云
xiaohaiAIgeo21 分钟前
【2026年】基于三维建模的实验室智慧管理平台:暖通能源照明的数字孪生方案
大数据·数据库·人工智能·科普知识
深盾科技_Virbox1 小时前
软件授权工具静默安装实践
java·运维·数据库·安全·软件需求
延凡科技2 小时前
延凡科技综合监控预警处置平台—— 一体化视频AI安防闭环系统设计与功能实现[特殊字符]️
数据库·人工智能·科技·安全·能源
老马聊技术2 小时前
Rocky Linux 9.0 安装 MySQL8.x详细教程
linux·数据库
醇氧2 小时前
主流 Agent 开发框架全解析(2026 最新)
大数据·数据库·人工智能·开源
吴声子夜歌2 小时前
Redis 6.x——整合SpringBoot
数据库·spring boot·redis
ATA88882 小时前
AI辅助生成SQL实战从连接配置到执行计划优化的完整技术流程
数据库·人工智能·智能问数
咏方舟【长江支流】2 小时前
【开源】跨语言·跨平台·跨数据库(4) ——用宝框架 ORM 数据源适配器
数据库·开源·ai编程·orm·咏方舟-长江支流·用宝框架·用宝框架orm
JZC_xiaozhong2 小时前
OA调价审批后,采购调价单如何自动同步到ERP?解决漏录错价难题
大数据·linux·服务器·前端·数据库·数据孤岛解决方案·数据集成与应用集成