pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
BUG #16986: reindex error on ltree index
2+ messages / 2 participants
[nested] [flat]

* BUG #16986: reindex error on ltree index
@ 2021-04-29 09:59  PG Bug reporting form <noreply@postgresql.org>
  0 siblings, 1 reply; 2+ messages in thread

From: PG Bug reporting form @ 2021-04-29 09:59 UTC (permalink / raw)
  To: pgsql-bugs@lists.postgresql.org; +Cc: mauro@enuan.com

The following bug has been logged on the website:

Bug reference:      16986
Logged by:          Mauro Valletta
Email address:      mauro@enuan.com
PostgreSQL version: 12.6
Operating system:   Ubuntu 20.04.2
Description:        

Hi 
reindexing a table with ltree index this error is thrown:
ERROR:  index row size 7720 exceeds maximum 8152 for index
"ltree_test_session_event_path_idx"
Follow script to reproduce error:
---------------------------------------------------------------
CREATE TABLE "m3_dm"."ltree_test" (
  "session_id" varchar COLLATE "pg_catalog"."default" NOT NULL,
  "session_event_path" "public"."ltree",
  CONSTRAINT "ltree_test_pkey" PRIMARY KEY ("session_id")
);
CREATE INDEX "ltree_test_session_event_path_idx" ON "m3_dm"."ltree_test"
USING gist (
  "session_event_path" "public"."gist_ltree_ops"
);
insert into m3_dm.ltree_test
values (
	'aaa',
	text2ltree(repeat('abcdefghi.',480)||'abcdefghi')
)
;
reindex table m3_dm.ltree_test;
---------------------------------------------

Regards
Mauro



^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* Re: BUG #16986: reindex error on ltree index
@ 2021-05-02 16:26  Alexander Korotkov <aekorotkov@gmail.com>
  parent: PG Bug reporting form <noreply@postgresql.org>
  0 siblings, 0 replies; 2+ messages in thread

From: Alexander Korotkov @ 2021-05-02 16:26 UTC (permalink / raw)
  To: mauro@enuan.com, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>

.Hi, Mauro!

On Thu, Apr 29, 2021 at 1:33 PM PG Bug reporting form
<noreply@postgresql.org> wrote:
> reindexing a table with ltree index this error is thrown:
> ERROR:  index row size 7720 exceeds maximum 8152 for index
> "ltree_test_session_event_path_idx"
> Follow script to reproduce error:
> ---------------------------------------------------------------
> CREATE TABLE "m3_dm"."ltree_test" (
>   "session_id" varchar COLLATE "pg_catalog"."default" NOT NULL,
>   "session_event_path" "public"."ltree",
>   CONSTRAINT "ltree_test_pkey" PRIMARY KEY ("session_id")
> );
> CREATE INDEX "ltree_test_session_event_path_idx" ON "m3_dm"."ltree_test"
> USING gist (
>   "session_event_path" "public"."gist_ltree_ops"
> );
> insert into m3_dm.ltree_test
> values (
>         'aaa',
>         text2ltree(repeat('abcdefghi.',480)||'abcdefghi')
> )
> ;
> reindex table m3_dm.ltree_test;

Thank you for reporting.  Generally, GiST isn't good at controlling
maximum tuple length.  If your tuple is long error can be raised
randomly here and there.

Your particular case is related to GiST fillfactor.  Normal insertion
doesn't take fillfactor into account but index build does.  You can
resolve this case by specifying fillfactor = 100.

CREATE INDEX "ltree_test_session_event_path_idx" ON "m3_dm"."ltree_test"
USING gist (
  "session_event_path" "public"."gist_ltree_ops"
) WITH (fillfactor = 100);

Besides fact that GiST need a general rework at controlling maximum
tuple length, the error message looks really dumb.  7720 doesn't
exceed 8152.  I'm going to fix this.

------
Regards,
Alexander Korotkov





^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2021-05-02 16:26 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2021-04-29 09:59 BUG #16986: reindex error on ltree index PG Bug reporting form <noreply@postgresql.org>
2021-05-02 16:26 ` Alexander Korotkov <aekorotkov@gmail.com>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox