In the last couple years postgres has drastically improved it's vertical scalability, it's common to see near linear scale up to dozens of cores, handling more than 1 million QPS on a single node; with the introduction of intra query parallelism in 9.6, and the improvements in 10, analytics queries can now scale to many cores of a single machine; with improvements around streaming replication, the introduction of logical replication and foreign data wrappers, postgres is also on the way to scaling well beyond a single system.
What has seen fewer improvements is using cores more efficiently, even though modern CPUs and techniques offer a lot of room for improvement.
Starting with postgres 10, the project renewed its effort to improve on that front.
This talk will go, by example, through areas of improvement, trying to showcase which types of workload will benefit, and what techniques are used, without trying to explain individual improvements on a low level.
The following slides have been made available for this session: