Any support for "rolling" partitions? e.g. A partition for data updated less than a day ago, another for data from 2-7 days ago, etc.<p>I miss this from Oracle; it allows nice index optimizations as the query patterns are different for recent data vs. historical data.<p>I think it could be set up with a mess of triggers and a cron job... but it would be nice to have a canonical way to do this.
The conversation on the patches are really interesting:
<a href="https://www.postgresql.org/message-id/flat/55D3093C.5010800@lab.ntt.co.jp#55D3093C.5010800@lab.ntt.co.jp" rel="nofollow">https://www.postgresql.org/message-id/flat/55D3093C.5010800@...</a>
<a href="https://www.postgresql.org/message-id/flat/ad16e2f5-fc7c-cc2d-333a-88d4aa446f96@lab.ntt.co.jp#ad16e2f5-fc7c-cc2d-333a-88d4aa446f96@lab.ntt.co.jp" rel="nofollow">https://www.postgresql.org/message-id/flat/ad16e2f5-fc7c-cc2...</a>
If you also didn't know what exactly partitioned tables are, here's a nice introduction from Microsoft:<p><a href="https://technet.microsoft.com/en-us/library/ms190787(v=sql.105).aspx" rel="nofollow">https://technet.microsoft.com/en-us/library/ms190787(v=sql.1...</a><p>It is for the SQL server but I assume it would be mostly relevant. Please correct me if I'm wrong.
I don't get it?
Table partition is already supported in PostgreSQL now and has been for a long time now (at least since 8.1);
Where I work we utilize table partitioning with PostgreSQL 9.4 on the product we're developing.<p><a href="https://www.postgresql.org/docs/current/static/ddl-partitioning.html" rel="nofollow">https://www.postgresql.org/docs/current/static/ddl-partition...</a>
About donations: I believe PostgreSQL now deserves more advertising and marketing to develop its adoption in major companies and, hence, get more funding. If I donate on the website, it says it will help conferences. Where should I donate?
Supposing the case in which all partitions are on the same disk and that you manage to index your data well enough according to your usage that postgres does not need to do full table scans, are there any additional performance benefits on partitioning?
This message was confusing to me because I've been using/abusing Postgres inheritance for partitioning for so long that I forgot Postgres didn't technically have a feature called "partitioning".<p>What I'm looking forward to finding out is if I can take an arbitrary expression on a column and have it derive all the same benefits of range partitioning like constraint exclusion.
I really like this addition. We store a lot of data for different customers, and most of our queries are only about data from a single customer. If I understand it correctly, if we would partition by customer_id, once the query planner is able to take advantage of this new feature, it will be much faster to do such queries as it won't have to wade through rows of data from other customers.<p>Another common use case is that we want to know an average number for all/some customers. To do this, we run a subquery grouped by customer, and then calculate the average in a surrounding query. I hope that the query builder wil eventually become smart enough to use the GROUP BY clause to distribute this subquery to the different partitions.
I just tried to implement table partitioning in PostgreSQL 9.6 this week. With some triggers and check constraints this seem to work quite nicely, but I was a bit disappointed that hash based partitioning is currently not possible (at least not without extensions).<p>Will hash based partitioning be included in PostgreSQL 10?
The post notes<p><pre><code> A partitioning "column" can be an expression.
</code></pre>
so I can assume it will be supported?
...this is the beginning, not the end...
<a href="https://www.postgresql.org/message-id/CA%2BTgmobTxn2%2B0x96h5Le%2BGOK5kw3J37SRveNfzEdx9s5-Yd8vA%40mail.gmail.com" rel="nofollow">https://www.postgresql.org/message-id/CA%2BTgmobTxn2%2B0x96h...</a>
While seemingly extensive, I don't quite like the commit message.<p>I doesn't say what TP <i>is</i>, and what its use cases would be. That's the first thing you should say, else how am I going to understand / keep interest in the rest of the text?