Simon Riggs <simon@2ndQuadrant.com> writes:
> Having it USERSET allows different settings for different roles, which
> is useful.
That would still be possible if it were SUSET; you'd just need a
superuser to set it for you (via ALTER ROLE SET, or perhaps a
security-definer wrapper function if you were desperate).
The real question is how necessary is it for unprivileged code to set
temp_tablespaces *for itself*. I doubt that that's all that critical.
I suspect the variable is hardly used in the field at all, given that
it's been there since 8.3 and nobody noticed these issues until
Stephen started poking at it.
Note I am certainly not suggesting that we back-patch any such change.
This would just be for 9.3 and up. We have surely made bigger
incompatible changes than this one, probably in just about every major
release.
regards, tom lane