diff options
author | Michael Paquier <michael@paquier.xyz> | 2022-08-24 12:57:13 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2022-08-24 12:57:13 +0900 |
commit | d951052a9e02bfacad8bd6f0f53a4dcd3b7e6d1f (patch) | |
tree | 3191caa0fb1cff85f349f3cdbb111ceca995f85c /src/tools | |
parent | 421892a192b8f95ab96c5edb61d424f80a4221d0 (diff) | |
download | postgresql-d951052a9e02bfacad8bd6f0f53a4dcd3b7e6d1f.tar.gz |
Allow parallel workers to retrieve some data from Port
This commit moves authn_id into a new global structure called
ClientConnectionInfo (mapping to a MyClientConnectionInfo for each
backend) which is intended to hold all the client information that
should be shared between the backend and any of its parallel workers,
access for extensions and triggers being the primary use case. There is
no need to push all the data of Port to the workers, and authn_id is
quite a generic concept so using a separate structure provides the best
balance (the name of the structure has been suggested by Robert Haas).
While on it, and per discussion as this would be useful for a potential
SYSTEM_USER that can be accessed through parallel workers, a second
field is added for the authentication method, copied directly from
Port.
ClientConnectionInfo is serialized and restored using a new parallel
key and a structure tracks the length of the authn_id, making the
addition of more fields straight-forward.
Author: Jacob Champion
Reviewed-by: Bertrand Drouvot, Stephen Frost, Robert Haas, Tom Lane,
Michael Paquier, Julien Rouhaud
Discussion: https://postgr.es/m/793d990837ae5c06a558d58d62de9378ab525d83.camel@vmware.com
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/pgindent/typedefs.list | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list index 35c9f1efce..a4a4e356e5 100644 --- a/src/tools/pgindent/typedefs.list +++ b/src/tools/pgindent/typedefs.list @@ -373,6 +373,7 @@ CkptTsStatus ClientAuthentication_hook_type ClientCertMode ClientCertName +ClientConnectionInfo ClientData ClonePtrType ClosePortalStmt @@ -2455,6 +2456,7 @@ SerCommitSeqNo SerialControl SerializableXactHandle SerializedActiveRelMaps +SerializedClientConnectionInfo SerializedRanges SerializedReindexState SerializedSnapshotData |