> I agree it could be, but is it any more confusing than if you were to
> set work_mem in postgresql.conf today, and then `ALTER ROLE ALL SET
> work_mem` to something completely different?

I would say yes, because in the ALTER ROLE case, it's clear that a
role specific setting is more specific. But I also understand this
reasoning, I'll update the patch to follow this approach.

> Right. This goes back to your question upthread as to why I brought
> session_preload_libraries into all this -- I thought
> session_preload_libraries already had handling for this, but it
> doesn't.

I looked into the previous idea I mentioned, about using child
processes for the purpose, and got that working.

* to prevent pg_hba reloads if something is invalid in it
* possibly to print out a warning (or error/fatal) during postmaster
startup along/instead of the connection warning
* possibly to do the same during sighup

The "instead of connection warning" (removing the placeholders from
postmaster) part is a bit complex or limited, as the postmaster can't
use dsm, and there can be any number of variables.

This is again a bit of a different topic, but I could make that a
proper patch from this prototype.

The important part for this thread is that if you would prefer a
version which completely verifies the pg_hba configuration before
accepting it, it's not that difficult to implement, or at least it's
not as complex as I originally imagined it. But even that won't
guarantee that the configuration always remains valid, because session
preload libraries can change without a server restart/reload... but
that's a rare corner case, and it could be a useful check most of the
time.


Reply via email to