Re: SYSTEM_USER reserved word implementation
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: "Drouvot, Bertrand" <bdrouvot@amazon.com>
Cc: Jacob Champion <jchampion@timescale.com>, 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-08-26T01:02:26Z
Lists: pgsql-hackers
On Thu, Aug 25, 2022 at 08:21:05PM +0200, Drouvot, Bertrand wrote: > system_user() now returns a text and I moved it to miscinit.c in the new > version attached (I think it makes more sense now). +/* kluge to avoid including libpq/libpq-be.h here */ +struct ClientConnectionInfo; +extern void InitializeSystemUser(struct ClientConnectionInfo conninfo); +extern const char* GetSystemUser(void); FWIW, I was also wondering about the need for all this initialization stanza and the extra SystemUser in TopMemoryContext. Now that we have MyClientConnectionInfo, I was thinking to just build the string in the SQL function as that's the only code path that needs to know about it. True that this approach saves some extra palloc() calls each time the function is called. > New version attached is also addressing Michael's remark regarding the peer > authentication TAP test. Thanks. I've wanted some basic tests for the peer authentication for some time now, independently on this thread, so it would make sense to split that into a first patch and stress the buildfarm to see what happens, then add these tests for SYSTEM_USER on top of the new test. -- Michael
Commits
-
Introduce SYSTEM_USER
- 0823d061b0b7 16.0 landed
-
Add some information about authenticated identity via log_connections
- 9afffcb833d3 14.0 cited