From 8781b0ce25e702ba4a4f032d00da7acdef8dbfe1 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Tue, 26 Oct 2021 12:54:55 +1300 Subject: Reject huge_pages=on if shared_memory_type=sysv. It doesn't work (it could, but hasn't been implemented). Back-patch to 12, where shared_memory_type arrived. Reported-by: Alexander Lakhin Reviewed-by: Alexander Lakhin Discussion: https://postgr.es/m/163271880203.22789.1125998876173795966@wrigleys.postgresql.org --- src/backend/port/sysv_shmem.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/backend/port/sysv_shmem.c') diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c index cd385c4df65..e7474cee596 100644 --- a/src/backend/port/sysv_shmem.c +++ b/src/backend/port/sysv_shmem.c @@ -703,6 +703,12 @@ PGSharedMemoryCreate(Size size, errmsg("huge pages not supported on this platform"))); #endif + /* For now, we don't support huge pages in SysV memory */ + if (huge_pages == HUGE_PAGES_ON && shared_memory_type != SHMEM_TYPE_MMAP) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("huge pages not supported with the current shared_memory_type setting"))); + /* Room for a header? */ Assert(size > MAXALIGN(sizeof(PGShmemHeader))); -- cgit v1.2.3