记录一个bug情况:

我有个表NewTable,复合主键(slaveid,resid,owner)

CREATE TABLE "public"."NewTable" (
"slaveid" varchar() NOT NULL,
"resid" varchar() NOT NULL,
"owner" varchar(2) NOT NULL,
"a" bool,
"b" int4,
"c" text,
"ddd" varchar(),
"e" timestamp(),
"f" timestamp(),
PRIMARY KEY ("owner", "resid", "slaveid")
)
WITH (OIDS=FALSE)
;

存数据进去的时候,slaveid,resid,owner三个字段都特别长,达到几万字节,其他字段长度的只有几十

那么问题来了,当入参足够长的时候,会报错如下

[Err] ERROR:  index row size  exceeds maximum  for index "pk_t_portal_slave_extend"
HINT: Values larger than / of a buffer page cannot be indexed.
Consider a function index of an MD5 hash of the value, or use full text indexing.

原因:报错说 超过缓存1/3大小就不予检索,也就是说

length(slaveid + resid +owner) / length(所有入参字节总和)  > 1/3

则认为主键长度太大,就数据库就放弃检索复合主键是否唯一,就报错不处理了。

解决办法,正在尝试,参看:

Consider a function index of an MD5 hash of the value, or use full text indexing.

最新文章

  1. svd自我学习
  2. Linux下dns服务器搭建
  3. Python操作Mysql实例代码教程在线版(查询手册)
  4. [转载] leveldb日知录
  5. 【转】 iOS 两种方法实现左右滑动出现侧边菜单栏 slide view
  6. [每日一题] OCP1z0-047 :2013-07-27 外部表――不能被DML和建索引
  7. 无向图的完美消除序列 判断弦图 ZOJ 1015 Fish net
  8. 4.如何实现用MTQQ通过服务器实现订阅者和发布者的通讯
  9. 常见文本类css属性
  10. 键盘快捷键大全 - Mac 技巧
  11. 《Dare To Dream 》第三次作业--团队项目的原型设计与开发
  12. php基本类型
  13. sitecore系列教程之简单和个性化
  14. leetcode717—1-bit and 2-bit Characters
  15. psycopg使用
  16. Android——黑名单管理
  17. 什么是API测试
  18. 2017面向对象程序设计(Java)第六周学习总结
  19. HBase入门教程
  20. DOM节点的三个属性

热门文章

  1. O(n) 取得数组中每个元素右边第一个比它大的元素
  2. python测试开发django-58.MySQL server has gone away错误的解决办法
  3. mybatis多数据库切换,(动态数据源)。
  4. 运行pyqt4生成py文件增加代码
  5. intellij高亮字体背景颜色
  6. hive日期转换函数2
  7. lambda()函数
  8. Random Walk——高斯消元法
  9. 树莓派linux shell
  10. 4个MySQL优化工具AWR,帮你准确定位数据库瓶颈!(转载)