"Max" <maxdl@adelphia.net> writes:
> Here's a question for the developers: what's the memory consumption
> difference when you move a 3GB database from a 32 bit machine to a 64 ?
Not a lot.
> Isn't the whole data taking up more RAM because pointers are now 64 bits
> instead of 32 ?
There are no pointers in on-disk data, so there's no difference at all
in file sizes, and thus none in shared-buffer requirements --- at least
not from the size of pointers. (64-bit machines tend to have MAXALIGN
of 8 bytes instead of 4, which implies more alignment padding at the
ends of rows. But that's usually a few-percent kind of cost, not a
factor of 2.)
The pointer size difference has a larger influence on Postgres' other
internal data structures, such as the shared lock table. But by
comparison to the shared disk buffers, those generally don't amount
to anything.
regards, tom lane