To me it seems that the definer of this table missed the concept index ... or the concept database One usually looks up data using a key, but if the whole row is the key, what data shall be looked up. So short story long: Remove data from your index. The data column seems like the data to be looked up using the key (scan_id, host_ip, port_num, plugin_id, severity) or even less. Postgres is able to take several indices over distinct columns into account. Thus reducing the possible candidates to a hand full. So several indices are also an option |-----Original Message----- |From: Dinesh Pandey [mailto:dpandey@xxxxxxxx] |Sent: Donnerstag, 01. Jänner 2004 11:09 |To: 'Richard Huxton' |Cc: pgsql-general@xxxxxxxxxxxxxx; 'PostgreSQL' |Subject: Re: [SQL] index row size 2728 exceeds btree maximum, |2713 | | |I am inserting some log messages in the column "data". (Basically I am |inserting records from reading an xml file) | |In the PRIMARY KEY, btree (scan_id, host_ip, port_num, |plugin_id, severity, |data) data is of type TEXT and can contain long string values. | |The question is how to remove this error "index row size 2728 |exceeds btree |maximum, 2713" by increasing the btree size? | |The big problem is "I can not add any additional column in this table." | |Thanks |Dinesh Pandey | |-----Original Message----- |From: pgsql-general-owner@xxxxxxxxxxxxxx |[mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of Richard Huxton |Sent: Thursday, June 02, 2005 3:29 PM |To: dpandey@xxxxxxxx |Cc: pgsql-general@xxxxxxxxxxxxxx; 'PostgreSQL' |Subject: Re: index row size 2728 exceeds btree maximum, 2713 | |Dinesh Pandey wrote: |> -----------+-----------------------+----------- |> 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" | |Well - the error message is clear enough. The question is, what to do. | |Without knowing what the table "means", it's difficult to say what the |primary-key should be, but it seems unlikely to include an |unlimited-length text-field called "data". | |If the data itself doesn't offer any suitable candidate keys (as can |well be the case) then common practice is to generate a unique number |and use that as an ID - in PostgreSQL's case by use of the SERIAL |pseudo-type. | |Does that help? |-- | Richard Huxton | Archonet Ltd | |---------------------------(end of |broadcast)--------------------------- |TIP 7: don't forget to increase your free space map settings | | | |---------------------------(end of |broadcast)--------------------------- |TIP 2: you can get off all lists at once with the unregister command | (send "unregister YourEmailAddressHere" to |majordomo@xxxxxxxxxxxxxx) | ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend