David,
Answer "postgres" would suffice. I have fairly decent idea of what happens below that (you are right system utility - Memory Manager is what marshaling data back and forth to RAM, abstracting absolute addresses from application along the way, and once in RAM, security kernel of the system protects data, terminating any process which tries to obtain data from another process - provided data were not shared to begin with).
Thanks a lot for your consultation guys.
Oleg
On Wed, Jan 13, 2016 at 3:49 PM, David G. Johnston <david.g.johnston@xxxxxxxxx> wrote:
OK, Kevin, David,Thanks you very much for explanation. Now who is the owner of this process? My understanding is, data then located physically in RAM, in the memory stack assigned by OS to this process. Now the question is who owns the process?Who owns the PostgreSQL backend user process?Typically the "postgres" user.Who owns the "process" responsible for marshalling data back and forth from RAM? There isn't really a concept of "process" when dealing with system resources. The kernel is responsible for management of those resources. Processes are a user-space concern.There may be some here concerned with the deep workings of the various O/S that PostgreSQL runs on but ultimately the answer, from PostgreSQL's perspective, is that we use system APIs to request and use resources and expect the underlying system to handle those securely. If you want to know how that layer works you should ask there since it seems out-of-scope for this forum.David J.