Lets say I have two columns, A and B.  They are each indexed seperately. 
  If I do a query like:
SELECT * FROM table WHERE A = 1 AND B = 2;
postgres can only use one index.
I assume that postgres uses the index data to narrow down pages in the 
table to visit when doing its search. Then it goes through and filters 
on the second condition.
My question: why can't it go through the first index, get a list of 
pages in the table, then go through the second index, union the result 
with the results from first index, and then go into the table?