Updated on 2025-02-27 GMT+08:00

SET SESSION AUTHORIZATION

Description

Sets the session user identifier and the current user identifier of the current session to a specified user.

Precautions

The session identifier can be changed only when the initial session user has the SYSADMIN permission. Otherwise, the system supports the statement only when the authenticated username is specified.

Syntax

  • Set the session user identifier and the current user identifier of the current session.
    SET [ SESSION | LOCAL ] SESSION AUTHORIZATION role_name PASSWORD 'password';
  • Reset the identifiers of the session and current users to the initially authenticated usernames.
    {SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT
        | RESET SESSION AUTHORIZATION};

Parameters

  • SESSION

    Specifies that the specified parameters take effect for the current session.

  • LOCAL

    Specifies that the specified statement takes effect only for the current transaction.

  • role_name

    Username.

    Value range: a string that complies with the Identifier Naming Conventions.

  • password

    Specifies the password of a role. It must comply with the password convention. Encrypted passwords are not supported.

  • DEFAULT

    Resets the identifiers of the session and current users to the initially authenticated usernames.

Examples

-- Create a role paul.
openGauss=# CREATE ROLE paul IDENTIFIED BY '********';

-- Set the current user to paul.
openGauss=# SET SESSION AUTHORIZATION paul password '********';

-- View the current session user and the current user.
openGauss=# SELECT SESSION_USER, CURRENT_USER;

-- Reset the current user.
openGauss=# RESET SESSION AUTHORIZATION;

-- Drop the user.
openGauss=# DROP USER paul;

Reference

SET ROLE