On 11 July 2016 at 01:56, Joshua D. Drake <linuxhi...@gmail.com> wrote:
> Hackers, > > This just came across my twitter feed: > > https://lists.freedesktop.org/archives/systemd-devel/2014-April/018373.html > > tl;dr; Systemd 212 defaults to remove all IPC (including SYSV memory) when > a user "fully" logs out. > > The underlying change sounds like a fix, not a problem. It ensures that when a user logs out, various dangling processes are cleaned up. Given the amount of work PostgreSQL has to do to try to make sure it's really gone, having systemd be able to just clobber everything is pretty nice. So long as there's control over it. However, it will break existing deployments that use "non-system" users to run PostgreSQL. I had a look and didn't find any useful definition of what systemd considers a "system user". Perhaps by uid threshold in login.defs? But then what happens for people who're managing users via a directory, who need to avoid conflicting with host-local UIDs, but also need some of those users to have systemd "system user" like behaviour? It's also not clear if there's any API apps can use to exempt themselves from this, or any wrapper command to spawn processes that aren't clobbered. With appropriate user privileges to permit it, at least. I've asked for clarification on the bug, so I'd better don my fire-proof suit. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services