PG::ProgramLimitExceeded: 错误:索引行需要 13904 字节,最大大小为 8191

Ana*_*and 4 postgresql text ruby-on-rails

我有一个领域

t.text "po_description", null: false
Run Code Online (Sandbox Code Playgroud)

我正在尝试在此字段中保存 200-300 行文本并出现溢出错误:-

PG::ProgramLimitExceeded:错误:索引行需要 13904 字节,最大大小为 8191:插入“po_terms”(“company_id”、“po_description”、“created_at”、“updated_at”)值($1、$2、$3、$4)返回“id”

注意: - 我正在使用 postgresql db

如何修复它,任何帮助将不胜感激。谢谢

Ric*_*ton 7

错误消息准确说明了问题所在。您已将“po_description”列编入索引,但它超出了最大索引大小。

无论如何,如此大的列上的索引不太可能有用。最简单的解决方案就是将其删除。

  • 是的。如果您需要在此列上进行搜索,请使用全文搜索或仅对该字段的前几个字符建立索引(子字符串表达式上的索引)。搜索表时使用相同的表达式。 (2认同)