Given default 8,000 blocks, PostgreSQL can store up to 32 TB of data inside a single table. If you compile PostgreSQL with 32,000 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 will most likely have improved partitioning, which will offer end users significantly easier handling of data partitioning.
At the time this chapter was written, PostgreSQL 10.0 had not been released yet and therefore the old means of partitioning are covered.