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 the function 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