数据库版本
瀚高安全版数据库系统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抽样方法都可以执行
