pgsql: Allow parallel workers to retrieve some data from Port

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема pgsql: Allow parallel workers to retrieve some data from Port
Дата
Msg-id E1oQhWL-000wIW-MC@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d951052a9e02bfacad8bd6f0f53a4dcd3b7e6d1f

Modified Files
--------------
src/backend/access/transam/parallel.c | 19 ++++++-
src/backend/libpq/auth.c              | 23 +++++----
src/backend/postmaster/postmaster.c   |  1 +
src/backend/utils/init/miscinit.c     | 93 +++++++++++++++++++++++++++++++++++
src/include/libpq/libpq-be.h          | 45 ++++++++++++-----
src/include/miscadmin.h               |  4 ++
src/tools/pgindent/typedefs.list      |  2 +
7 files changed, 163 insertions(+), 24 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: David Rowley
Дата:
Сообщение: pgsql: Further reduce warnings with -Wshadow=compatible-local
Следующее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Change shared library installation naming on macOS