Seq Scan on tst01 t (cost=0.00..1693.00 rows=100000 width=4)
Filter: (id < 100000)
(2 rows)
postgres=#
When I just send sql of " select * from tst01 t where id <2" , it will also produce index only scan plan.
When I just send sql of " select * from tst01 t where id < 100000", it will also produce seq scan plan.
So I think that the above example can not show that "parameterized path" has been created.
But if you try the PREPAREd sets in versions before 9.2, you will find they use the same plan as each other. Allowing them to differ based on the parameter they are executed with, just like the non-PREPARE ones differ, is what parameterized paths is all about.