Re: [SQL] index row size 2728 exceeds btree maximum, 2713

Lists: pgsql-generalpgsql-sql
From: "Ramakrishnan Muralidharan" <ramakrishnanm(at)pervasive-postgres(dot)com>
To: <dpandey(at)secf(dot)com>, <pgsql-general(at)postgresql(dot)org>, "PostgreSQL" <pgsql-sql(at)postgresql(dot)org>
Subject: Re: [SQL] index row size 2728 exceeds btree maximum, 2713
Date: 2005-06-02 11:13:33
Message-ID: 02767D4600E59A4487233B23AEF5C5992A4090@blrmail1.aus.pervasive.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general pgsql-sql

Hi

It is not advisable to add a variable length data field in the Index key, since it is very difficult predict the size of the field which may vary from record to record.

are you included this field for Full text search on data field?

Regards,
R.Muralidharan

-----Original Message-----
From: pgsql-sql-owner(at)postgresql(dot)org [mailto:pgsql-sql-owner(at)postgresql(dot)org]On Behalf Of Dinesh Pandey
Sent: Thursday, January 01, 2004 3:14 PM
To: Ramakrishnan Muralidharan; pgsql-general(at)postgresql(dot)org; 'PostgreSQL'
Subject: Re: [SQL] index row size 2728 exceeds btree maximum, 2713

Hi,

One of the columns in primary key is of type "TEXT". I am able to insert with small data, but for around 3000 characters it's failing. How to handle that?

Thanks
Dinesh Pandey

_____

From: Ramakrishnan Muralidharan [mailto:ramakrishnanm(at)pervasive-postgres(dot)com]
Sent: Thursday, June 02, 2005 3:11 PM
To: dpandey(at)secf(dot)com; pgsql-general(at)postgresql(dot)org; PostgreSQL
Subject: RE: [SQL] index row size 2728 exceeds btree maximum, 2713

Hi,

The issue looks like your Index width exceeds the maximum width of the index key limit, Please review the keys used in the index.

Regards,

R.Muralidharan

-----Original Message-----
From: pgsql-sql-owner(at)postgresql(dot)org [mailto:pgsql-sql-owner(at)postgresql(dot)org]On Behalf Of Dinesh Pandey
Sent: Thursday, June 02, 2005 12:35 PM
To: pgsql-general(at)postgresql(dot)org; 'PostgreSQL'
Subject: [SQL] index row size 2728 exceeds btree maximum, 2713

TABLE

-----------+-----------------------+-----------

Column | Type

-----------+-----------------------+-----------

scan_id | bigint

host_ip | character varying(15)

port_num | integer

plugin_id | integer

severity | character varying(50)

data | text

Indexes:

"pk_scanned_port_info" PRIMARY KEY, btree (scan_id, host_ip, port_num, plugin_id, severity, data)

On inserting record I am getting this error "index row size 2728 exceeds btree maximum, 2713"

How to solve this problem?


From: "Dinesh Pandey" <dpandey(at)secf(dot)com>
To: "'Ramakrishnan Muralidharan'" <ramakrishnanm(at)pervasive-postgres(dot)com>, <pgsql-general(at)postgresql(dot)org>, "'PostgreSQL'" <pgsql-sql(at)postgresql(dot)org>
Subject: Re: [SQL] index row size 2728 exceeds btree maximum, 2713
Date: 2005-06-02 12:18:47
Message-ID: 20050602122321.17F4F52825@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general pgsql-sql

Yes I am storing some "error messages" in data column, and the PK columns
are party of search criteria.

Thanks
Dinesh Pandey

_____

From: Ramakrishnan Muralidharan
[mailto:ramakrishnanm(at)pervasive-postgres(dot)com]
Sent: Thursday, June 02, 2005 4:44 PM
To: dpandey(at)secf(dot)com; pgsql-general(at)postgresql(dot)org; PostgreSQL
Subject: RE: [SQL] index row size 2728 exceeds btree maximum, 2713

Hi

It is not advisable to add a variable length data field in the
Index key, since it is very difficult predict the size of the field which
may vary from record to record.

are you included this field for Full text search on data field?

Regards,

R.Muralidharan

-----Original Message-----
From: pgsql-sql-owner(at)postgresql(dot)org
[mailto:pgsql-sql-owner(at)postgresql(dot)org]On Behalf Of Dinesh Pandey
Sent: Thursday, January 01, 2004 3:14 PM
To: Ramakrishnan Muralidharan; pgsql-general(at)postgresql(dot)org; 'PostgreSQL'
Subject: Re: [SQL] index row size 2728 exceeds btree maximum, 2713

Hi,

One of the columns in primary key is of type "TEXT". I am able to insert
with small data, but for around 3000 characters it's failing. How to handle
that?

Thanks
Dinesh Pandey

_____

From: Ramakrishnan Muralidharan
[mailto:ramakrishnanm(at)pervasive-postgres(dot)com]
Sent: Thursday, June 02, 2005 3:11 PM
To: dpandey(at)secf(dot)com; pgsql-general(at)postgresql(dot)org; PostgreSQL
Subject: RE: [SQL] index row size 2728 exceeds btree maximum, 2713

Hi,

The issue looks like your Index width exceeds the maximum width
of the index key limit, Please review the keys used in the index.

Regards,

R.Muralidharan

-----Original Message-----
From: pgsql-sql-owner(at)postgresql(dot)org
[mailto:pgsql-sql-owner(at)postgresql(dot)org]On Behalf Of Dinesh Pandey
Sent: Thursday, June 02, 2005 12:35 PM
To: pgsql-general(at)postgresql(dot)org; 'PostgreSQL'
Subject: [SQL] index row size 2728 exceeds btree maximum, 2713

TABLE

-----------+-----------------------+-----------

Column | Type

-----------+-----------------------+-----------

scan_id | bigint

host_ip | character varying(15)

port_num | integer

plugin_id | integer

severity | character varying(50)

data | text

Indexes:

"pk_scanned_port_info" PRIMARY KEY, btree (scan_id, host_ip, port_num,
plugin_id, severity, data)

On inserting record I am getting this error "index row size 2728 exceeds
btree maximum, 2713"

How to solve this problem?


From: Bruno Wolff III <bruno(at)wolff(dot)to>
To: Dinesh Pandey <dpandey(at)secf(dot)com>
Cc: 'Ramakrishnan Muralidharan' <ramakrishnanm(at)pervasive-postgres(dot)com>, pgsql-general(at)postgresql(dot)org, 'PostgreSQL' <pgsql-sql(at)postgresql(dot)org>
Subject: Re: index row size 2728 exceeds btree maximum, 2713
Date: 2005-06-02 12:35:20
Message-ID: 20050602123520.GC6785@wolff.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general pgsql-sql

On Thu, Jun 02, 2005 at 17:48:47 +0530,
Dinesh Pandey <dpandey(at)secf(dot)com> wrote:
> Yes I am storing some "error messages" in data column, and the PK columns
> are party of search criteria.

If you need to be able to search based on the entire stored error message,
than you might try adding an indexed hash column to the table and using that
to speed up searches. You can still compare the full string in case you
have a hash collision, but those should be very rare.