Re: SYSTEM_USER reserved word implementation

Jacob Champion <jchampion@timescale.com>

From: Jacob Champion <jchampion@timescale.com>
To: "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>, Michael Paquier <michael@paquier.xyz>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Tom Lane <tgl@sss.pgh.pa.us>, Joe Conway <mail@joeconway.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-09-27T22:38:49Z
Lists: pgsql-hackers
On 9/26/22 06:29, Drouvot, Bertrand wrote:
> Please find attached V4 taking care of Jacob's previous comments.

> +	/*
> +	 * InitializeSystemUser should already be called once we are sure that
> +	 * authn_id is not NULL (means auth_method is actually valid).
> +	 * But keep the test here also for safety.
> +	 */
> +	if (authn_id)

Since there are only internal clients to the API, I'd argue this makes
more sense as an Assert(authn_id != NULL), but I don't think it's a
dealbreaker.

> As far the assertion failure mentioned by Michael when moving the 
> SVFOP_SYSTEM_USER from NAMEOID to TEXTOID: V4 is assuming that it is 
> safe to force the collation to C_COLLATION_OID for SQLValueFunction 
> having a TEXT type, but I would be happy to also hear your thoughts 
> about it.

Unfortunately I don't have much to add here; I don't know enough about
the underlying problems.

Thanks,
--Jacob



Commits

  1. Introduce SYSTEM_USER

  2. Add some information about authenticated identity via log_connections