From: | Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> |
---|---|
To: | marian(dot)krucina(at)gmail(dot)com |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #8468: Create index on type tstzrange fail |
Date: | 2013-09-25 13:12:09 |
Message-ID: | 5242E129.4090903@vmware.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On 24.09.2013 14:42, marian(dot)krucina(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | os | 2013-09-25 13:34:47 | BUG #8470: 9.3 locking/subtransaction performance regression |
Previous Message | Sandeep Thakkar | 2013-09-25 10:40:04 | Re: Errors during PostgreSQL 9.2 and 9.3 installation |