Sample data sets
In order to show you queries to optimize, you need data. So far randomly generated data for a small number of tables has been good enough for that, but that has its limits and they were reached in the last chapter.
Obtaining sample data of a significant size for benchmarking purposes is a never ending struggle, because the pace of hardware progress means yesteryear's massive test database can be today's trivial workload. A listing that's kept up-to-date with useful new sources for test databases is at http://wiki.postgresql.org/wiki/Sample_Databases and some of these are part of a PostgreSQL sample database project, which has several examples worth checking out.