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 such as this aren't necessarily convenient anymore, and it can make sense to partition tables to make processing easier and, in some cases, a bit faster. Starting with version 10.0, PostgreSQL offers 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 that are available as of PostgreSQL 12.0, will be covered. Features in partitioning are added in all areas as we speak so that people can expect more and better partitioning in all the future versions of PostgreSQL.