[Pgpool-general] EXPLAIN statement fails on 'kind mismatch'

asaf at lingnu.com asaf at lingnu.com
Sun Dec 6 11:31:14 UTC 2009


>> hello
>>
>> after 2 weeks pgpool-II (2.25) was working good,
>> I now have:
>> 'kind mismatch among backends. Possible last query was: "EXPLAIN SELECT
>> *
>> FROM ycore.transfer_record WHERE
>> transfer_record_id>400" kind details are: 0[D] 1[C]'
>>
>> just when we wanted to move to production.
>>
>> all other things still work, also 'EXPLAIN' on other tables,
>> (also same query on this table worked until now)
>> I have full logs of pgpool + 2 postgres backends
>> how can I find out whats wrong ?
>
> Can you show me the outputs of EXPAIN which are executed directly on
> postgres backends? My bet is, there are dead tuples difference between
> backends which cause execution plan differences.
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
>

backend 0:

explain select * from ycore.transfer_record where transfer_record_id > 400;
                                       QUERY PLAN
-----------------------------------------------------------------------------------------
 Bitmap Heap Scan on transfer_record  (cost=4.60..20.16 rows=45 width=356)
   Recheck Cond: (transfer_record_id > 400)
   ->  Bitmap Index Scan on idx_tr_transfer_record_id  (cost=0.00..4.59
rows=45 width=0)
         Index Cond: (transfer_record_id > 400)
(4 rows)


backend 1:

explain select * from ycore.transfer_record where transfer_record_id > 400;
                            QUERY PLAN
-------------------------------------------------------------------
 Seq Scan on transfer_record  (cost=0.00..24.48 rows=49 width=331)
   Filter: (transfer_record_id > 400)
(2 rows)



I can see there is a difference, but i don't know how to check what caused
it, and how to avoid it next time.



More information about the Pgpool-general mailing list