Hello Postgres Admins, I am having a bit of trouble setting postgres memory parameters on a windows machine. I figured out the parameters based on postgres documentation as well as the whack a mole slide deck, but the postgres process will not start. Event log keeps indicating the following reason for the postgres process : FATAL: could not create shared memory segment I can not find any documentation specific to windows...
Environment: 2008 Windows server, 64bit 20 gigs of ram (I am assuming 2gigs for os, 3 gigs for other apps that are running on the machine, which leaves me with 15gigs of memory I could give to Postgres) I would like to give postgres as much memory as possible as this cluster is hosting very large data, by large I mean that it took over 20 hours to load the data and postgres complained about running out of max_fsm_pages and checkpoint_segments when trying to create a primary key. I found that to figure out the value for the max_fsm_pages parameter I should run vacuumdb -v which came back with a value of 599,584 as opposed to the default 204800 I set the parameters with the following values, which failed: Effective_cache_size - 8 gigs - rec: 50%-66% of total ram Shared_buffers - 4 gigs - rec: 25%-33% of total ram Work_mem - 128MB - rec: from whack a mole presentation Maintenance_work_memory - 256MB - rec: from whack a mole presentation Checkpoint_segmetns - 256MB - rec: from whack a mole presentation Max_fsm_pages - 600,000 - rec: from running the vacuumdb command, which I rounded up After that failed, I tried setting shared_buffers and effective_cache_size to 2 gigs each, remembering that on a 32 bit windows system a process can only utilize 2gig address space, but that was a shot in the dark as this is a 64bit machine so the 32bit limitation should not apply, of course that implies an assumption that each of these parameters would be utilized by a different background process, which may be erroneous. Does anyone have any recommendations or corrections? Thank you, Kasia