On 2018-01-31 14:45:46 -0500, Robert Haas wrote: > On Wed, Jan 31, 2018 at 1:34 PM, Andres Freund <and...@anarazel.de> wrote: > >> The first one is a problem that's not going to go away. If the > >> problem of JIT being enabled "magically" is something we're concerned > >> about, we need to figure out a good solution, not just disable the > >> feature by default. > > > > That's a fair argument, and I don't really have a good answer to it. We > > could have a jit = off/try/on, and use that to signal things? I.e. it > > can be set to try (possibly default in version + 1), and things will > > work if it's not installed, but if set to on it'll refuse to work if not > > enabled. Similar to how huge pages work now. > > We could do that, but I'd be more inclined just to let JIT be > magically enabled. In general, if a user could do 'yum install ip4r' > (for example) and have that Just Work without any further database > configuration, I think a lot of people would consider that to be a > huge improvement. Unfortunately we can't really do that for various > reasons, the biggest of which is that there's no way for installing an > OS package to modify the internal state of a database that may not > even be running at the time. But as a general principle, I think > having to configure both the OS and the DB is an anti-feature, and > that if installing an extra package is sufficient to get the > new-and-improved behavior, users will like it.
I'm not seing a contradiction between what you describe as desired, and what I describe? If it defaulted to try, that'd just do what you want, no? I do think it's important to configure the system so it'll error if JITing is not available. > Bonus points if it doesn't require a server restart. I think server restart might be doable (although it'll increase memory usage because the shlib needs to be loaded in each backend rather than postmaster), but once a session is running I'm fairly sure we do not want to retry. Re-checking whether a shlib is available on the filesystem every query does not sound like a good idea... Greetings, Andres Freund