On Thu, Feb 15, 2018 at 1:00 PM, Andres Freund <and...@anarazel.de> wrote: > Hm, I'm not quite convinced by this. Seems to make testing a bunch of > codepaths harder. I think it's fine to say that pg doesn't work > correctly with them disabled though.
I'm not sure I understand this. Do you mean we should just add a disclaimer to the documentation? As long as dynamic_shared_memory_type=none is a supported configuration, we can't use DSM for anything critical, but there's a desire to use it in things like AV and the stats collector, which are pretty critical. Instead of removing it, we could do something like this: <note> If you configure dynamic_shared_memory_type=none, parallel query will be disabled. Also, the stats collector will fail to run, so there will be no statistics to trigger autovacuum, and your database will become horribly bloated. Actually, that would be true anyway even if the stats collector somehow managed to work, because autovacuum itself will also fail. Moreover, because we've decide that you really have to have dynamic shared memory, there may probably be other things that also fail, too, either now or in the future. Basically, if you configure dynamic_shared_memory_type=none, expect a swift and painful death. </note> ...but I'm not sure that's really a great option. It seems like leaving user-visible knobs lying around that break the entire world is a bad plan. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company