[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