Thank you! setting the protocolVersion=2 works with the newer driver. I'm still puzzled as to why the prepareThreshold=0 doesn't force the replan though. On 2/26/07, Dave Cramer <pg@xxxxxxxxxxxxx> wrote:
On 26-Feb-07, at 11:12 AM, Gene wrote: > hi! > > I've been having some serious performance issues with > postgresql8.2/hibernate/jdbc due to postgres reusing bad cached query > plans. It doesn't look at the parameter values and therefore does not > use any partial indexes. > > After trying to set prepareThreshold=0 in the connection string which > didnt work, even modifying the jdbc driver and forcing it to 0 and not > working I realized that it must be being ignored. After giving up > pretty much I tried a much older driver which doesn't use server > prepared statements at all the problem has gone away and it is once > again using the partial indexes. How can I get this to work properly > on the new jdbc driver? I don't really like having to use a 2 year old > driver to get good performance as you can imagine :) > > Could someone point me to a jdbc src file where I could just disable > server-side prepared statements entirely? > you can just add protocolVersion=2 to the url and it will not use prepared statements. setting prepareThreshold=0 just tells it not to use named statements. It will still use statements but won't cache them. Are you sure the problem is with cached statements ? There are issues where prepared statements won't use the index if you don't use the correct type. Dave > -- > thanks, G > > ---------------------------(end of > broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq >
-- Gene Hart cell: 443-604-2679