Given default 8 k blocks, PostgreSQL can store up to 32 TB of data inside a single table. If you compile PostgreSQL with 32 k blocks, you can even put up to 128 TB into a single table. However, large tables like that are not necessarily too convenient anymore and it can make sense to partition tables to make processing easier and, in some cases, a bit faster. Starting with PostgreSQL 10.0, we have improved partitioning, which will offer end users significantly easier handling of data partitioning.
In this chapter, the old means of partitioning as well as the new features available as of PostgreSQL 10.0 will be covered.