Partitioning data
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.
Creating partitions
First, I want to focus your attention on the old method to partition data.
Before digging deeper into the advantages of partitioning, I want to show how partitions can be created. The entire thing starts with a parent table:
test=# CREATE TABLE t_data (id serial, t date, payload text); CREATE TABLE
In this example, the parent table has three...