Re: BUG #8468: Create index on type tstzrange fail
От | Heikki Linnakangas |
---|---|
Тема | Re: BUG #8468: Create index on type tstzrange fail |
Дата | |
Msg-id | 5242E129.4090903@vmware.com обсуждение исходный текст |
Ответ на | BUG #8468: Create index on type tstzrange fail (marian.krucina@gmail.com) |
Список | pgsql-bugs |
On 24.09.2013 14:42, marian.krucina@gmail.com wrote: > CREATE INDEX ON tstzrange fail on 9.3.0 and 9.2.4 - default postgres > configuration. > It ate whole memory and was killed by oom. > > > Example: > postgres=# CREATE TABLE range_test AS SELECT tstzrange(t, t+'1min') tr FROM > generate_series('2000-1-1'::TIMESTAMPTZ, '2010-1-1'::TIMESTAMPTZ, '1min') AS > t1(t); > SELECT 5260321 > postgres=# CREATE INDEX ON range_test(tr); > WARNING: terminating connection because of crash of another server process > DETAIL: The postmaster has commanded this server process to roll back the > current transaction and exit, because another server process exited > abnormally and possibly corrupted shared memory. > HINT: In a moment you should be able to reconnect to the database and > repeat your command. > The connection to the server was lost. Attempting reset: Failed. A-ha, the comparison function of range datatypes, range_cmp(), detoasts its arguments, but fails to free the detoasted copies. Functions are normally not required to free such temporary copies - the memory is usually leaked into a short-lived memory context that will be quickly free'd anyway - but B-tree comparison operators are expected to not leak. Committed a fix, it will appear in the next minor releases. Thanks for the report! - Heikki
В списке pgsql-bugs по дате отправления: