postgresql/src/backend/commands
Robert Haas 1aba8e651a Add hash partitioning.
Hash partitioning is useful when you want to partition a growing data
set evenly.  This can be useful to keep table sizes reasonable, which
makes maintenance operations such as VACUUM faster, or to enable
partition-wise join.

At present, we still depend on constraint exclusion for partitioning
pruning, and the shape of the partition constraints for hash
partitioning is such that that doesn't work.  Work is underway to fix
that, which should both improve performance and make partitioning
pruning work with hash partitioning.

Amul Sul, reviewed and tested by Dilip Kumar, Ashutosh Bapat, Yugo
Nagata, Rajkumar Raghuwanshi, Jesper Pedersen, and by me.  A few
final tweaks also by me.

Discussion: http://postgr.es/m/CAAJ_b96fhpJAP=ALbETmeLk1Uni_GFZD938zgenhF49qgDTjaQ@mail.gmail.com
2017-11-09 18:07:44 -05:00
..
aggregatecmds.c Explicitly track whether aggregate final functions modify transition state. 2017-10-14 15:21:39 -04:00
alter.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
amcmds.c Fix typos in comments. 2017-02-06 11:33:58 +02:00
analyze.c Improve comments in vacuum_rel() and analyze_rel(). 2017-10-05 10:47:47 -04:00
async.c Replace remaining uses of pq_sendint with pq_sendint{8,16,32}. 2017-10-11 21:00:46 -07:00
cluster.c Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n). 2017-08-20 11:19:07 -07:00
collationcmds.c Don't install ICU collation keyword variants 2017-08-21 19:21:07 -04:00
comment.c Allow COMMENT ON COLUMN with partitioned tables 2017-04-18 10:42:10 +01:00
constraint.c Allow index AMs to cache data across aminsert calls within a SQL command. 2017-02-09 11:52:12 -05:00
conversioncmds.c Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
copy.c Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
createas.c Allow DML commands that create tables to use parallel query. 2017-10-05 11:40:48 -04:00
dbcommands.c Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
define.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
discard.c Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
dropcmds.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
event_trigger.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
explain.c Allow DML commands that create tables to use parallel query. 2017-10-05 11:40:48 -04:00
extension.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
foreigncmds.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
functioncmds.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
indexcmds.c Rework DefineIndex relkind check 2017-10-16 12:22:18 +02:00
lockcmds.c Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
Makefile Implement multivariate n-distinct coefficients 2017-03-24 14:06:10 -03:00
matview.c Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n). 2017-08-20 11:19:07 -07:00
opclasscmds.c Introduce 64-bit hash functions with a 64-bit seed. 2017-08-31 22:21:21 -04:00
operatorcmds.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
policy.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
portalcmds.c Remove unnecessary PG_TRY overhead for CurrentResourceOwner changes. 2017-10-11 17:44:09 -04:00
prepare.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
proclang.c Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
publicationcmds.c Message style fixes 2017-09-11 11:21:27 -04:00
schemacmds.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
seclabel.c Reduce excessive dereferencing of function pointers 2017-09-07 13:56:09 -04:00
sequence.c Remove unnecessary PG_TRY overhead for CurrentResourceOwner changes. 2017-10-11 17:44:09 -04:00
statscmds.c Message style fixes 2017-09-11 11:21:27 -04:00
subscriptioncmds.c ... and the very same bug in publicationListToArray(). 2017-09-23 15:16:48 -04:00
tablecmds.c Add hash partitioning. 2017-11-09 18:07:44 -05:00
tablespace.c Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
trigger.c Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
tsearchcmds.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
typecmds.c Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
user.c Don't allow logging in with empty password. 2017-08-07 17:03:42 +03:00
vacuum.c Improve comments in vacuum_rel() and analyze_rel(). 2017-10-05 10:47:47 -04:00
vacuumlazy.c Revert bogus fixes of HOT-freezing bug 2017-11-02 15:51:41 +01:00
variable.c Remove uses of "slave" in replication contexts 2017-08-10 22:55:41 -04:00
view.c Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n). 2017-08-20 11:19:07 -07:00