Обсуждение: Index row maximum size and crash

Поиск
Список
Период
Сортировка

Index row maximum size and crash

От
"Daniel Caune"
Дата:
Hi,

I try to create an index on character varying(64) column but PostgreSQL
complains that the index row size reaches the maximum limit:

  CREATE INDEX IDX_GSLOG_EVENT_ARCHIVE_GAME_CLIENT_VERSION
    ON GSLOG_EVENT_ARCHIVE(GAME_CLIENT_VERSION);
  ERROR:  index row requires 198468548 bytes, maximum size is 8191


I was curious to know the maximum length I have for this column:

  select max(game_client_version) from gslog_event_archive;
  server closed the connection unexpectedly
          This probably means the server terminated abnormally
          before or while processing the request.
  The connection to the server was lost. Attempting reset: Failed.

The server crashes again! Sniff! :-(  Seems that the database is
corrupted somewhere, no?

--
Daniel CAUNE
Ubisoft Online Technology
(514) 490 2040 ext. 3613

Re: Index row maximum size and crash

От
Tom Lane
Дата:
"Daniel Caune" <daniel.caune@ubisoft.com> writes:
> I try to create an index on character varying(64) column but PostgreSQL
> complains that the index row size reaches the maximum limit:

>   CREATE INDEX IDX_GSLOG_EVENT_ARCHIVE_GAME_CLIENT_VERSION
>     ON GSLOG_EVENT_ARCHIVE(GAME_CLIENT_VERSION);
>   ERROR:  index row requires 198468548 bytes, maximum size is 8191

That sure looks like a corrupted-data problem.  Have you checked for bad
data in the GAME_CLIENT_VERSION column?

            regards, tom lane