The following bug has been logged online:
Bug reference: 2406
Logged by: Paul van der Zwan
Email address: paul.vanderzwan@sun.com
PostgreSQL version: 8.1.3
Operating system: Solaris
Description: Not all systems support SHM_SHARE_MMU
Details:
Only systems with large pagesizes support ISM, so always defining
#define PG_SHMAT_FLAGS SHM_SHARE_MMU
in src/backend/port/sysv_shmem.c will cause all calls to shmat to fail with
EINVAL on systems that do not support large pages.
The following may be a better check:
#if def SHM_SHARE_MMU
#define PG_SHMAT_FLAGS ((getpagesizes(0,NULL)>1)?SHM_SHARE_MMU:0)
#else
#define PG_SHMAT_FLAGS 0
#endif
This problem manifested itself on a VIA Mini ITX system and Solaris Nevada (
build 36)
Paul van der Zwan