Now that we've dug into some important optimizations that are implemented in PostgreSQL, let's proceed to take a closer look at execution plans. You have already seen some execution plans in this book. However, in order to make full use of plans, it is important to develop a systematic approach when it comes to reading this information.
Understanding execution plans
Approaching plans systematically
The first thing you have to know is that an EXPLAIN clause can do quite a lot for you, and I highly recommend making full use of these features.
As many of you may already know, an EXPLAIN ANALYZE clause will execute the query and return the plan, including real runtime information. Here is an example:
test=# EXPLAIN ANALYZE...