Bruce Momjian <pgman@candle.pha.pa.us> writes:
> What about pre-fetching of OID's. Does that still happen for every
> backend?
Only ones that actually allocate some OIDs, I think.
> What about XID's?
XIDs are wasted on a postmaster restart, but not per-backend, because
they are cached in shared memory instead of locally. I've been thinking
about changing the code so that OIDs are allocated in the same fashion.
That would mean an extra spinlock grab per OID allocation, but so what?
We grab several spinlocks per row creation already. And we could
increase the number of OIDs allocated per pg_variable file update,
which would save some time.
Haven't got round to it yet though, and I'm not sure but what Vadim
might be planning to throw out all that code anyway ...
regards, tom lane