diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index a703c67eaddd601bd21c1568ce28414d67fff8d9..8fccb4c8262c60c6782b6223c5148dfed7312ff9 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -222,6 +222,16 @@ SetSessionUserId(Oid userid, bool is_superuser) CurrentUserId = userid; } +/* + * GetAuthenticatedUserId - get the authenticated user ID + */ +Oid +GetAuthenticatedUserId(void) +{ + AssertState(OidIsValid(AuthenticatedUserId)); + return AuthenticatedUserId; +} + /* * GetUserIdAndSecContext/SetUserIdAndSecContext - get/set the current user ID diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index 2ba98856ff27782d778bacc4da3cb9a080acc269..1558a75fbde658ce69e7f4f41c59e5515417a2d8 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -283,6 +283,7 @@ extern char *GetUserNameFromId(Oid roleid); extern Oid GetUserId(void); extern Oid GetOuterUserId(void); extern Oid GetSessionUserId(void); +extern Oid GetAuthenticatedUserId(void); extern void GetUserIdAndSecContext(Oid *userid, int *sec_context); extern void SetUserIdAndSecContext(Oid userid, int sec_context); extern bool InLocalUserIdChange(void);