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

相关推荐
xcLeigh13 分钟前
KingbaseES 的卢智能运维体架构深度拆解
运维·数据库·人工智能·ai·架构·ffmpeg·智能体
weixin_397574091 小时前
按行业定制分析视角
大数据·数据库·人工智能·企业数据治理·数据驱动决策·本体语义·企业经营分析
鹿角片ljp1 小时前
Redis 深度复习:从入门到面试通关
数据库·redis·面试
Ming_studying1 小时前
Python + SQLite FTS5 构建本地文档全文搜索器:增量索引、中文检索与高亮
jvm·数据库·python·sqlite
云和恩墨2 小时前
从静态备份到极速恢复:zData S重构多元数据库时代的“第二存储”底座
数据库·重构
吴声子夜歌2 小时前
MongoDB 8.0——存储
数据库·mongodb
网教盟人才服务平台2 小时前
Redis Key集中过期引发的流量雪崩实战解析
数据库·redis·缓存
AI大模型-小华2 小时前
ChatGPT充值后Codex误改数据库怎么办?用迁移审查避免数据丢失
数据库·chatgpt·codex·chatgpt plus·chatgpt pro·chatgpt充值
吴声子夜歌3 小时前
MongoDB 8.0——索引
数据库·mongodb
安_3 小时前
MySQL SQL 调优完整指南
数据库·sql·mysql