Imai-san,
If the time for EXECUTE differs cleary before and after the creation of the generic plan, why don't you try to count
thefunction calls for each EXECUTE? Although I haven't tried it, but you can probably do it with SystemTap, like
this:
probe process("your_postgres_path").function("*").call {
/* accumulate the call count in an associative array */
}
Then, sort the functions by their call counts. You may find some notable difference between the 5th and 7th EXECUTE.
Regards
Takayuki Tsunakawa