Greg Stark <gsst...@mit.edu> writes: > What he did, I gather, is treat the mmapped buffers as a read-only > copy of the data. To actually make any modifications he copies it into > shared buffers and treats them like normal. When the buffers get > flushed from memory they get written and then the pointers get > repointed back at the mmapped copy.
That seems much too late --- won't other processes still be looking at the stale mmap'ed version of the page until a write-out happens? I'm pretty concerned about the memory efficiency of this too, since it seems like it's making it *guaranteed*, not just somewhat probable, that there are two copies in RAM of every database page that's been modified since the last checkpoint (or so). regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers