út 4. 4. 2023 v 18:42 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
Kirk Wolak <wolakk@gmail.com> writes: > Changed status to Ready for Committer. (100% Guessing here...)
Basically, I want to reject this on the grounds that it's not useful enough to justify the overhead of marking the "role" GUC as GUC_REPORT. The problems with it not going to work properly with old servers are an additional reason not to like it.
If I understand to next comment correctly, the overhead should not be too big
/* * ReportChangedGUCOptions: report recently-changed GUC_REPORT variables * * This is called just before we wait for a new client query. * * By handling things this way, we ensure that a ParameterStatus message * is sent at most once per variable per query, even if the variable * changed multiple times within the query. That's quite possible when * using features such as function SET clauses. Function SET clauses * also tend to cause values to change intraquery but eventually revert * to their prevailing values; ReportGUCOption is responsible for avoiding * redundant reports in such cases. */
But, if I lose the argument and we do commit this, I think it should just print an empty string when dealing with an old server. "ERR02000" is an awful idea, not least because it could be a real role name.
ok
BTW, we should probably get rid of the PQuser() fallback in %n (session_username()) as well. It's unlikely that there are still servers in the wild that don't report "session_authorization", but if we did find one then the output is potentially misleading. I'd rather print nothing than something that might not be your actual session authorization setting.