I contact on Postgresql hackers request.
I am running into a systemic
problem using Drupal under PostgreSQL 8.4
Drupal relies heavily on a domain derived from int:
CREATE DOMAIN int_unsigned
CONSTRAINT int_unsigned_check CHECK ((VALUE >= 0));
Analysing slow queries, I noticed that PostgreSQL 8.4 would cast data
from int4 to int_unsigned. Some queries range between 400ms and 700ms.
This provides some large sequential scans.
Could you help understand why a cast happens?
Details, query plan and database:
Postgresql.conf has no special settings for optimizing queries other
than PostgreSQL 8.4 syntax. Only shared memory is much larger.