Provided by: manpages-zh_1.5-1_all bug

NAME

       SET                SESSION                AUTHORIZATION               -
       為當前會話設置會話使用者標識符和當前使用者標識符

SYNOPSIS

       SET [ SESSION | LOCAL ] SESSION AUTHORIZATION username
       SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT
       RESET SESSION AUTHORIZATION

DESCRIPTIONyz
        這條命令把當前  SQL   會話環境裏的會話使用者標識和當前使用者標識設置為
       username。     這茖洏峈怞W可以寫成一蚍陏挐觼峈怳@茼r串文本。    使用這-
       茤R令,我怚i以臨時變成一茷D特權使用者,稍後再切換回超級使用者。

        會話使用者標識符一開始設置為(可能經過認証的)客戶端提供的使用者名。
       當前使用者標識符通常等於會話使用者標識符,      但是可能在     "setuid"
       的環境裏或者類似的機制裏臨時改變。 當前使用者標識符和權檢查相關。

        只有在初始會話使用者({F怴^有超級使用者權的時-
       唌A會話使用者標識符才能改變。
       否則,只有在指定了被認証的使用者名的情況下,系統才接受該命令。

       SESSION 和 LOCAL 袡6和普通 SET [set(7)] 命令裏的作用相同。

       DEFAULT                 和                 RESET                  形式-
       姜m會話和當前使用者標識符為初始認証的使用者名。這些形式可以為任何使用者執行。

EXAMPLESl
       SELECT SESSION_USER, CURRENT_USER;

        session_user | current_user
       --------------+--------------
        peter        | peter

       SET SESSION AUTHORIZATION 'paul';

       SELECT SESSION_USER, CURRENT_USER;

        session_user | current_user
       --------------+--------------
        paul         | paul

COMPATIBILITYe性
        SQL  標準允許一些其它的表達式出現在文本  username    的位置上,不過這-
       茠F西實際上並不南。  PostgreSQL  允許標識符語法  ("username"),而 SQL
       不允許。 SQL  不允許在一茖犒L程中用這條命令;  PostgreSQL  沒有這-
       制,因為沒有什麼理由不允許這樣用。          標準中表示執行這條命令的權-
       n求是具體實現定義的。

者
       Postgresql  <laser@pgsqldb.org>