Re: shared memory based stat collector (was: Sharing record typmods between backends)
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Alvaro Herrera <alvherre@2ndquadrant.com>, Thomas Munro <thomas.munro@enterprisedb.com>,
Dilip Kumar <dilipbalaut@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2017-08-14T17:00:41Z
Lists: pgsql-hackers
On Mon, Aug 14, 2017 at 12:36 PM, Andres Freund <andres@anarazel.de> wrote: >> If so, why isn't choose_dsm_implementation() trying it; and if not, >> why are we carrying it? > > I think the idea was that there might be platforms that require it, but > ... Right. So, for example, POSIX shared memory will fail on Linux is /dev/shm is inaccessible, and I've seen such systems in the wild. System V shared memory will fail if the kernel limits are too small. On *BSD, which lacks POSIX shared memory altogether, whether you can start PostgreSQL with the default configuration settings is depends entirely on how the System V shared memory limits are configured. I think it would be a bad idea to remove both dynamic_shared_memory_type=none and dynamic_shared_memory_type=mmap. If you do that, then somebody who doesn't have root and whose system configuration is messed up can't start PostgreSQL at all. While I understand that catering to rarely-used options has some cost, I don't think those costs are exorbitant. And, I think history shows that minimizing dependencies on operating-system settings is a win. Commit b0fc0df9364d2d2d17c0162cf3b8b59f6cb09f67 may not be my most-appreciated commit ever, but it undoubtedly had the highest appreciation-to-effort ratio. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Simplify autovacuum work-item implementation
- f2f9fcb3030b 10.0 landed
- 31ae1638ce35 11.0 landed
-
Fix error handling path in autovacuum launcher
- d9a622cee162 11.0 landed
- 870da1e1546c 10.0 landed
-
Dramatically reduce System V shared memory consumption.
- b0fc0df9364d 9.3.0 cited