瀚高数据库-Camunda-大小写问题
瀚高数据库大小写敏感问题解决方案:当case_sensitive_db设为on时,小写表名会报错,而大写表名会导致Camunda重复建表。可通过修改lower_case_table_names参数解决:1)仅修改业务库:alter database dbname set lower_case_table_names=1; 2)全局修改:alter system set lower_case_tab
·
1. 问题
开启了瀚高的大小写敏感设置之后 SHOW case_sensitive_db;
为on的情况下,表名是小写的情况下会提示表不存在,而将表名改成大写之后,camunda又会尝试自动创建表,但是因为表已存在导致创建失败。
2. 解决
1) 只改自己的业务库不会影响其他的库
alter database dbnamexxx set lower_case_table_names=1;
select pg_reload_conf(); --生效
2) 全局修改,会影响所有的库
alter system set lower_case_table_names=1;
select pg_reload_conf(); --生效
3. 参数意义:
1) compatible_db
使用兼容功能前请先设置参数 compatible_db。该参数的可取值为 none、oracle 、mysql 。
默认为“none”,表示关闭兼容模式;
设置为“oracle”表示开启oracle兼容模式,适用于源库是oracle的场合;
设置为“mysql”表示开启mysql兼容模式,适用于源库是mysql的场合。
设置方式有两种,一种是永久生效,一种是临时生效。
2) case_sensitive_db
开启之后,大小写敏感。该参数的可取值为 on、off,默认为off。
3) lower_case_table_names
表名大小写控制参数。该参数的可取值为 0、1、2,默认值为0。 1是表名转小写(不敏感),2和0一样都是大、小、混合写敏感。要与参数1和参数2结合使用。重载生效。
4. 查询参数
-- 查看兼容模式
show compatible_db;
-- 查看大小写敏感
show case_sensitive_db;
-- 查看表名大小写
show lower_case_table_names;
更多推荐
所有评论(0)