> When I bring shared_buffers or max_fsm_pages back down, the daemon
> starts and all is
> normal.
Linux has a system setting for the maximum number of shared memory that a
process can allocate. When Postgres wants more, Linux says "No."
Look in the docs for the setting (sysctl whatsisname).
VACUUM VERBOSE will tell you if you need to put more max_fsm_pages or not.