新增PHP PG函数。请帮助。
我收到以下警告:
警告pg_execute():查询失败:ERROR: index "index_name"索引行大小2728超过最大2717 .
不知道是什么意思
代码示例:
$query = pg_prepare($pgConn, "query", "UPDATE table_name SET field_name=array_cat(field_name, $1) WHERE id=$2;");
$query = pg_execute($pgConn, "query", array($param1, $param2));
我可以看到,由于数据太大,无法为该记录创建索引,但这是否意味着数据也没有存储到DB中?
如果更新索引失败并导致错误,则整个操作失败并撤消。表和索引必须同时修改
由于索引条目必须适合一个8kB的块,并且每个块有一些开销,并且PostgreSQL要求至少三个索引条目适合一个块,因此最终索引条目的长度限制为2717。
有两个选项:
-
drop the index
-
如果您需要索引进行相等搜索,您可以创建一个"哈希索引";(
USING hash
);它可以索引大的值,因为它只存储哈希