This is weird, it seems like min and max aren't being optimised symmetrically.
It seems like both of these should result in similar plans and run equally
fast. Instead the first is actually really slow and the second is perfectly
quick.
foo=# explain select max(postalcode) from postalcodes where postalcode < 'K0C1N2';
Aggregate (cost=123.59..123.59 rows=1 width=10) -> Index Scan using postalcodes_pkey on postalcodes
(cost=0.00..120.50rows=1234 width=10)
foo=# explain select min(postalcode) from postalcodes where postalcode > 'K0C1N2';
Aggregate (cost=10373.45..10373.45 rows=1 width=10) -> Seq Scan on postalcodes (cost=0.00..9697.11 rows=270535
width=10)
--
greg