Greg Stark <gsstark(at)mit(dot)edu> writes:
> Off the top of my head it seems the way to go about doing this would be to
> simply not insert the records in the index until commit time. This doesn't
> actually sound so hard, is there any problem with this approach?
Yeah:
begin;
insert into foo (key, ...) values (33, ...);
select * from foo where key = 33;
...
If the SELECT uses an indexscan it will fail to find the just-inserted
row.
regards, tom lane