On 12/13/2014 03:09 AM, Alvaro Herrera wrote:
[snip]
Arbitrary SQL expressions (including functions) are not the thing to use
for partitioning -- at least that's how I understand this whole
discussion. I don't think you want to do "proofs" as such -- they are
expensive.
Yup. Plus, it looks like (from reading Oracle's documentation) they end
up converting the LESS THAN clauses into range lists internally.
Anyone that can attest to this? (or just disprove it, if I'm wrong)
I just suggested using the existing RangeType infrastructure for this (
<<, >> and && operators, specifically, might do the trick) before
reading your mail citing BRIN.
... which might as well allow some interesting runtime
optimizations when range partitioning is used and *a huge* number of
partitions get defined --- I'm specifically thinking about massive OLTP
with very deep (say, 5 years' worth) archival partitioning where it
would be inconvenient to have the tuple routing information always in
memory.
I'm specifically suggesting some ( range_value -> partitionOID) mapping
using a BRIN index for this --- it could be auto-created just like we do
for primary keys.
Just my 2c
Thanks,
/ J.L.
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers