Thanks the nice people on irc my problem is fixed.
I changed the following settings in the postgres.conf file: default_statistics_target = 5000 -> and I analyzed the tables after the change of course -> now I only got 2 plans anymore, in stead of 3 cpu_tuple_cost = 0.1 -> by setting this value the seq scans were stopped, and the better index_only scan / bitmap index scan were used for this query.
Thank you Robe and Mabe_ for helping me with this issue!
yes, the tables are vacuumed every day with the following command: vacuum analyze schema.table.
The last statistics were collected yesterday evening. I collected statistics about the statistics, and I found the following: table_name; starttime; runtime "st_itemseat";"2013-02-17 23:48:42";"00:01:02" "st_itemseat_45";"2013-02-17 23:35:15";"00:00:08" "st_itemzone";"2013-02-17 23:35:33";"00:00:01"
st_itemseat_45 is a child-partition of st_itemseat.
They seem to be pretty much up to date I guess?
I also don't get any difference in the query plans when they are run in the morning, or in the evening.
I have also run the query with set seq_scan to off, and then I get the following output: Total query runtime: 12025 ms. 20599 rows retrieved.