PostgreSQL on Windows fails to start - 'could not create shared memory segment'
Community Wiki answer generated from question comments by a_horse_with_no_name

Try setting dynamic_shared_memory_type = none in postgresql.conf.

"Permission denied" seems to indicate that the permissions for the user under which the service runs have been changed.