Why first example, where recid is given as numeric constant, is using sequential scan, but second example, where recid is given as string constant works with index scan, as expected? Third example shows, that numeric constant must be typecasted in order to function properly.
Is this normal behaviour of fields with bigint type?
Yes, it's a known performance problem in PostgreSQL 7.4 and below. I believe it's been fixed in 7.5 CVS already.
Chris
---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match