【问题标题】:PG::ProgramLimitExceeded: ERROR: index row requires 13904 bytes, maximum size is 8191PG::ProgramLimitExceeded: 错误:索引行需要 13904 字节,最大大小为 8191
【发布时间】:2018-04-14 09:44:50
【问题描述】:

我有一个字段

t.text "po_description", null: false

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

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

注意:-我正在使用 postgresql 数据库

如何解决它,任何帮助将不胜感激。谢谢

【问题讨论】:

    标签: ruby-on-rails postgresql text


    【解决方案1】:

    错误消息准确地说明了问题所在。您已为“po_description”列建立索引,它超出了最大索引大小。

    这样大的列上的索引无论如何都不太可能有用。最简单的解决方案就是删除它。

    【讨论】:

    • 您的意思是从po_description 列中删除索引吗?
    • 是的。如果您需要在此列上进行搜索,请使用全文搜索或仅索引字段的前几个字符(子字符串表达式的索引)。搜索表格时使用相同的表达式。
    猜你喜欢
    • 2018-11-30
    • 2021-07-16
    • 2015-08-26
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多