Erik Nordström cf009cc584 Avoid string conversion in hash partitioning
Hash partitioning previously relied on coercing (casting) values to
strings before calculating a hash value, including creating CHECK
constraints with casts. This approach is fairly suboptimal from a
performance perspective and might have issues related to different
character encodings depending on system.

Hash partitioning now instead uses a partitioning function that takes
an anyelement type that calls type-dependent hash functions internal
to PostgreSQL. This should provide more efficient hashing both by
avoiding unnecessary string conversions and by using more optimal
type-specific hash functions.

Support for the previous hash partitioning function is preserved for
backwards compatibility. Hypertables created with the previous
function will continue to use to old hashing strategy, while new
tables will default to the updated hash partitioning.

For safety, this change also blocks changing types on hash-partitioned
columns, since it seems hard to guarantee the same hash result between
different types.
2017-10-25 15:30:56 +02:00
..
2017-09-15 12:27:18 -04:00
2017-10-03 10:51:32 +02:00
2017-10-03 10:51:32 +02:00
2017-07-13 09:04:01 -04:00
2017-07-31 13:27:01 -04:00
2017-08-21 13:57:36 -04:00
2017-09-04 15:48:08 -04:00
2017-09-20 12:10:48 -04:00
2017-10-12 13:56:03 -04:00