Search Postgresql Archives

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux