Re: [SQL] Problem copying polygon data into a table
От | Tom Lane |
---|---|
Тема | Re: [SQL] Problem copying polygon data into a table |
Дата | |
Msg-id | 8442.945072031@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Problem copying polygon data into a table (Brent Wood <brent.wood@blazemail.com>) |
Список | pgsql-sql |
Brent Wood <brent.wood@blazemail.com> writes: > The polygon has about 800 vertices (& is relatively small as some of the > polygons in my dataset go). > Trying to copy this into the table generates the error msg: > ERROR: Tuple is too big: size 12892 > Does this mean that I've done summat incorrect, or that there is an > undocumented limit in what can be loaded in a "copy" command, or a limit > in the size (not area) of a polygon attribute? There is a limit, but it's hardly "undocumented" --- you're running into the infamous 8K-per-tuple limit. I believe polygons are stored with two float8's per vertex, so an 800-vertex polygon would take 16*800 bytes which matches your error message pretty nearly. You can only expect to fit maybe 500 vertexes in the standard 8K block size ... less if there's much other data in your tuples :-( This is a longstanding problem. There is discussion raging right now on the pghackers list about fixing it, and I think something may actually happen in the next release or two. In the meantime, the only reasonably simple recourse is to increase BLCKSZ (see src/include/config.h). But you can only bump it up as far as 32K, which'd be about 2K polygon vertexes; I don't know if that's enough for your purposes. regards, tom lane
В списке pgsql-sql по дате отправления: