我在 postgres 中有下表:
create table1 (col1 character varying, col2 character varying);
我的表有以下数据:
col1 col2
Questions Tags Users
Value1 Value2 Val
我想找到 col1 和 col2 的长度,当第 1 列和第 2 列的值的长度超过 6 时,我想截断它并丢弃剩余的值。即我希望我的决赛桌如下所示:
col1 col2
Questi Tags U
Value1 Value2
实际上我想这样做的原因是,当我在 table1 上创建索引时,我收到以下错误:
错误:索引行大小 2744 超过索引“allstrings_string_key”的最大值 2712 提示:无法索引大于缓冲区页面 1/3 的值。考虑值的 MD5 散列的函数索引,或使用全文索引。
我知道我可以通过将值导入某种编程语言然后截断值来做到这一点。有什么方法可以让我在 postgres 中使用 sql 查询来达到同样的效果。