日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

賬號(hào)和權(quán)限管理函數(shù)

本文介紹Hologres支持的賬號(hào)和權(quán)限管理函數(shù)。

類(lèi)型

函數(shù)

功能

賬號(hào)管理函數(shù)

HG_DISPLAY_NAME_TO _ID

將郵箱形式或RAM形式的阿里云賬號(hào)轉(zhuǎn)換為阿里云賬號(hào)ID。

USER_DISPLAY_NAME

將阿里云賬號(hào)ID轉(zhuǎn)換為郵箱形式或RAM形式的阿里云賬號(hào)。

授權(quán)函數(shù)

APPLY_PRIVILEGES

用于在專(zhuān)家權(quán)限模型下,將源表給用戶授予的權(quán)限復(fù)制到目標(biāo)表,目標(biāo)表保持與源表一致的權(quán)限。

權(quán)限查詢函數(shù)

HAS_ANY_COLUMN_PRIVILEGE

確認(rèn)當(dāng)前用戶或指定用戶是否有指定表的任意列的特定權(quán)限。

HAS_COLUMN_PRIVILEGE

確認(rèn)當(dāng)前用戶是否有指定列的特定權(quán)限。

HAS_DATABASE_PRIVILEGE

確認(rèn)當(dāng)前用戶或指定用戶是否有指定數(shù)據(jù)庫(kù)的特定權(quán)限。

HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE

確認(rèn)當(dāng)前用戶或指定用戶是否有外部數(shù)據(jù)包裝器的特定權(quán)限。

HAS_FUNCTION_PRIVILEGE

確認(rèn)當(dāng)前用戶或指定用戶是否有指定函數(shù)的特定權(quán)限。

HAS_LANGUAGE_PRIVILEGE

確認(rèn)當(dāng)前用戶或指定用戶是否有指定語(yǔ)言的特定權(quán)限。

HAS_SCHEMA_PRIVILEGE

確認(rèn)當(dāng)前用戶或指定用戶是否有指定的Schema的特定權(quán)限。

HAS_SERVER_PRIVILEGE

確認(rèn)當(dāng)前用戶或指定用戶是否有指定外部服務(wù)器的特定權(quán)限。

HAS_TABLE_PRIVILEGE

確認(rèn)當(dāng)前用戶或指定用戶是否有指定表的特定權(quán)限。

HAS_TABLESPACE_PRIVILEGE

確認(rèn)當(dāng)前用戶或指定用戶是否有指定表空間的特定權(quán)限。

HAS_TYPE_PRIVILEGE

確認(rèn)當(dāng)前用戶或指定用戶是否有特定類(lèi)型(?如表、?視圖、?序列等)?的特定權(quán)限。

賬號(hào)管理函數(shù)

USER_DISPLAY_NAME

  • 描述:將阿里云賬號(hào)ID轉(zhuǎn)換為郵箱形式或RAM形式的阿里云賬號(hào)。

    SELECT USER_DISPLAY_NAME (user_name);
  • 參數(shù)說(shuō)明

    user_name:必填,阿里云賬號(hào)ID。通常為數(shù)字形式,例如13532241323xxx或RAM用戶p4_23402030200xxx

  • 返回值說(shuō)明

    返回值為郵箱形式或RAM形式的阿里云賬號(hào),例如xx@aliyun.comRAM$mainaccount:subuserRAM$public

  • 示例

    --將指定賬號(hào)轉(zhuǎn)換為郵箱形式或RAM形式的阿里云賬號(hào)
    SELECT USER_DISPLAY_NAME ('13532241323xxx');

HG_DISPLAY_NAME_TO _ID

  • 描述:將郵箱形式或RAM形式的阿里云賬號(hào)轉(zhuǎn)換為阿里云賬號(hào)ID。

    SELECT HG_DISPLAY_NAME_TO _ID (aliyun_id);
  • 參數(shù)說(shuō)明

    aliyun_id:必填,阿里云賬號(hào)。通常為郵箱形式或RAM形式,例如xx@aliyun.comRAM$mainaccount:subuserRAM$public

  • 返回值說(shuō)明

    返回值為阿里云賬號(hào)ID,通常為數(shù)字形式,例如13532241323xxxp4_23402030200xxx

  • 示例

    SELECT HG_DISPLAY_NAME_TO _ID ('RAM$main:subuser');

授權(quán)函數(shù)

APPLY_PRIVILEGES

  • 描述:用于在專(zhuān)家權(quán)限模型下,將源表給用戶授予的權(quán)限復(fù)制到目標(biāo)表,目標(biāo)表保持與源表一致的權(quán)限。

    -- 將源表的權(quán)限復(fù)制給目標(biāo)表,并且不回收目標(biāo)表的權(quán)限,即不刪除目標(biāo)表之前具有的權(quán)限規(guī)則
    CALL APPLY_PRIVILEGES('<old_table>','<new_table>', false);
    
    
    -- 將源表的權(quán)限復(fù)制給目標(biāo)表,并且回收目標(biāo)表的權(quán)限,即刪除目標(biāo)表之前具有的權(quán)限規(guī)則
    CALL APPLY_PRIVILEGES('<old_table>','<new_table>');
    說(shuō)明

    專(zhuān)家權(quán)限模型下,當(dāng)使用CREATE TABLE LIKEINSERT OVERWRITE 、自動(dòng)分區(qū)等創(chuàng)建新表時(shí),新表的權(quán)限還需要重新再授予給用戶,通過(guò)APPLY_PRIVILEGES函數(shù)可以復(fù)制源表的所有用戶權(quán)限至新表,簡(jiǎn)化授權(quán)操作。

  • 使用限制

    • 僅Hologres V1.1.48及以上版本支持APPLY_PRIVILEGES函數(shù),如果您的實(shí)例是V1.1.48以下版本,請(qǐng)您使用自助升級(jí)或加入Hologres釘釘交流群反饋,詳情請(qǐng)參見(jiàn)如何獲取更多的在線支持?

    • 需要數(shù)據(jù)庫(kù)開(kāi)啟專(zhuān)家權(quán)限模型,如果您開(kāi)啟的是SPM或者SLPM請(qǐng)轉(zhuǎn)換為專(zhuān)家權(quán)限模型,詳情請(qǐng)參見(jiàn)權(quán)限模型轉(zhuǎn)換

    • 調(diào)用函數(shù)需要具有目標(biāo)表的GRANT、REVOKE權(quán)限。

    • APPLY_PRIVILEGES的目標(biāo)表是分區(qū)表時(shí),只對(duì)父表復(fù)制權(quán)限,不影響子表訪問(wèn)控制權(quán)限。

  • 參數(shù)說(shuō)明

    • old_table:必填,源表名稱(chēng),即被復(fù)制權(quán)限的表名稱(chēng)。

    • new_table:必填,目標(biāo)表名稱(chēng),即獲得權(quán)限的表名稱(chēng)。

  • 示例

    -- 將test_table1 ACL授權(quán)信息、owner信息應(yīng)用到test_table2上, false代表不對(duì)test_table2之前具有的權(quán)限規(guī)則進(jìn)行刪除
    CALL APPLY_PRIVILEGES('test_table1','test_table2', false);
    
    -- 將test_table1 ACL授權(quán)信息、owner信息應(yīng)用到test_table2上,對(duì)test_table2之前具有的權(quán)限規(guī)則進(jìn)行刪除,保持兩表的權(quán)限完全一致
    CALL APPLY_PRIVILEGES('test_table1','test_table2');

權(quán)限查詢函數(shù)

示例數(shù)據(jù)

權(quán)限查詢函數(shù)相關(guān)的示例均基于test示例數(shù)據(jù)。以下是創(chuàng)建表test并添加數(shù)據(jù)的命令示例。

CREATE TABLE test (
    a INT
);
INSERT INTO test (a) VALUES (1);
INSERT INTO test (a) VALUES (2);
INSERT INTO test (a) VALUES (3);

HAS_ANY_COLUMN_PRIVILEGE

  • 描述:確認(rèn)當(dāng)前用戶或指定用戶是否有指定表的任意列的特定權(quán)限。

    HAS_ANY_COLUMN_PRIVILEGE([user, ]table, privilege)
  • 參數(shù)說(shuō)明

    • user:可選,賬號(hào)名稱(chēng)或賬號(hào)ID。

    • table:必填,表名稱(chēng)。

    • privilege:必填,權(quán)限類(lèi)型,也可以用逗號(hào)分隔列出的多個(gè)權(quán)限類(lèi)型。取值為:SELECT、INSERT、UPDATE、REFERENCES。

  • 返回值說(shuō)明

    返回BOOLEAN類(lèi)型,若當(dāng)前用戶或指定用戶有訪問(wèn)表任何列的權(quán)限,則返回true(t);反之返回false(f)。

  • 示例

    SELECT HAS_ANY_COLUMN_PRIVILEGE('139699392458****', 'test' , 'SELECT,INSERT,UPDATE,REFERENCES');

    返回結(jié)果如下。

     has_any_column_privilege
    --------------------------
     t

HAS_COLUMN_PRIVILEGE

  • 描述:確認(rèn)當(dāng)前用戶是否有指定列的特定權(quán)限。

    HAS_COLUMN_PRIVILEGE(table, column, privilege)
  • 參數(shù)說(shuō)明

    • table:必填,表名稱(chēng)。

    • column:必填,列名稱(chēng)。

    • privilege:必填,權(quán)限類(lèi)型,也可以用逗號(hào)分隔列出的多個(gè)權(quán)限類(lèi)型。取值為:SELECT、INSERT、UPDATE、REFERENCES。

  • 返回值說(shuō)明

    返回BOOLEAN類(lèi)型,若當(dāng)前用戶有訪問(wèn)列的權(quán)限,則返回true(t);反之返回false(f)。

  • 示例

    SELECT HAS_COLUMN_PRIVILEGE('test' , 'a', 'SELECT,INSERT,UPDATE,REFERENCES');

    返回結(jié)果如下。

     has_column_privilege
    ----------------------
     t

HAS_DATABASE_PRIVILEGE

  • 描述:確認(rèn)當(dāng)前用戶或指定用戶是否有指定數(shù)據(jù)庫(kù)的特定權(quán)限。

    HAS_DATABASE_PRIVILEGE([user, ]database, privilege)
  • 參數(shù)說(shuō)明

    • user:可選,賬號(hào)名稱(chēng)或賬號(hào)ID。

    • database:必填,數(shù)據(jù)庫(kù)名稱(chēng)。

    • privilege:必填,權(quán)限類(lèi)型,也可以用逗號(hào)分隔列出的多個(gè)權(quán)限類(lèi)型。取值如下:CREATE、TEMPORARY、TEMP。

  • 返回值說(shuō)明

    返回BOOLEAN類(lèi)型,若當(dāng)前用戶或指定用戶有指定數(shù)據(jù)庫(kù)的權(quán)限,則返回true(t);反之返回false(f)。

  • 示例

    SELECT HAS_DATABASE_PRIVILEGE('glz', 'CREATE,TEMPORARY,TEMP');---替換為自己創(chuàng)建的數(shù)據(jù)庫(kù)名稱(chēng)

    返回結(jié)果如下。

     has_database_privilege
    ------------------------
     t

HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE

  • 描述:確認(rèn)當(dāng)前用戶或指定用戶是否有外部數(shù)據(jù)包裝器的特定權(quán)限。

    HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE([user, ]fdw, privilege)
  • 參數(shù)說(shuō)明

    • user:可選,賬號(hào)名稱(chēng)或賬號(hào)ID。

    • fdw:必填,外部數(shù)據(jù)封裝器名字或ID。

    • privilege:必填,權(quán)限類(lèi)型,也可以用逗號(hào)分隔列出的多個(gè)權(quán)限類(lèi)型。取值為:USAGE。

  • 返回值說(shuō)明

    返回BOOLEAN類(lèi)型,若當(dāng)前用戶或指定用戶有外部數(shù)據(jù)包裝器的權(quán)限,則返回true(t);反之返回false(f)。

  • 示例

    SELECT HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE('dlf_fdw', 'USAGE');--將dlf_fdw替換為自己已創(chuàng)建外部數(shù)據(jù)封裝器。

    返回結(jié)果如下。

     has_foreign_data_wrapper_privilege
    ------------------------------------
     t

HAS_FUNCTION_PRIVILEGE

  • 描述:確認(rèn)當(dāng)前用戶或指定用戶是否有指定函數(shù)的特定權(quán)限。

    has_function_privilege([user, ]function, privilege)
  • 參數(shù)說(shuō)明

    • user:可選,賬號(hào)名稱(chēng)或賬號(hào)ID。

    • function:必填,函數(shù)名稱(chēng)。

    • privilege:必填,權(quán)限類(lèi)型,也可以用逗號(hào)分隔列出的多個(gè)權(quán)限類(lèi)型。取值為:EXECUTE。

  • 返回值說(shuō)明

    返回BOOLEAN類(lèi)型,若當(dāng)前用戶或指定用戶有指定函數(shù)的操作權(quán)限,則返回true(t);反之返回false(f)。

  • 示例

    SELECT has_function_privilege('now()', 'EXECUTE');

    返回結(jié)果如下。

     has_function_privilege
    ------------------------
     t

HAS_LANGUAGE_PRIVILEGE

  • 描述:確認(rèn)當(dāng)前用戶或指定用戶是否有指定語(yǔ)言的特定權(quán)限。

    HAS_LANGUAGE_PRIVILEGE([user, ]language, privilege)
  • 參數(shù)說(shuō)明

    • user:可選,賬號(hào)名稱(chēng)或賬號(hào)ID。

    • language:必填,語(yǔ)言名稱(chēng)。

    • privilege:必填,權(quán)限類(lèi)型,也可以用逗號(hào)分隔列出的多個(gè)權(quán)限類(lèi)型。取值為:USAGE。

  • 返回值說(shuō)明

    返回BOOLEAN類(lèi)型,若當(dāng)前用戶或指定用戶有語(yǔ)言權(quán)限,則返回true(t);反之返回false(f)。

  • 示例

    SELECT HAS_LANGUAGE_PRIVILEGE('plpgsql', 'USAGE');

    返回結(jié)果如下。

     has_language_privilege
    ------------------------
     t

HAS_SCHEMA_PRIVILEGE

  • 描述:確認(rèn)當(dāng)前用戶或指定用戶是否有指定的Schema的特定權(quán)限。

    HAS_SCHEMA_PRIVILEGE([user, ]schema, privilege)
  • 參數(shù)說(shuō)明

    • user:可選,賬號(hào)名稱(chēng)或賬號(hào)ID。

    • schema:必填,Schema名稱(chēng)。

    • privilege:必填,權(quán)限類(lèi)型,也可以用逗號(hào)分隔列出的多個(gè)權(quán)限類(lèi)型。取值為:CREATE、USAGE。

  • 返回值說(shuō)明

    返回BOOLEAN類(lèi)型,若當(dāng)前用戶或指定用戶有指定的Schema權(quán)限,則返回true(t);反之返回false(f)。

  • 示例

    SELECT HAS_SCHEMA_PRIVILEGE('public', 'CREATE,USAGE');

    返回結(jié)果如下。

     has_schema_privilege
    ----------------------
     t

HAS_SERVER_PRIVILEGE

  • 描述:確認(rèn)當(dāng)前用戶或指定用戶是否有指定外部服務(wù)器的特定權(quán)限。

    HAS_SERVER_PRIVILEGE([user, ]server, privilege)
  • 參數(shù)說(shuō)明

    • user:可選,賬號(hào)名稱(chēng)或賬號(hào)ID。

    • server:必填,外部服務(wù)器名稱(chēng)。

    • privilege:必填,權(quán)限類(lèi)型,也可以用逗號(hào)分隔列出的多個(gè)權(quán)限類(lèi)型。取值為:USAGE。

  • 返回值說(shuō)明

    返回BOOLEAN類(lèi)型,若當(dāng)前用戶或指定用戶有外部服務(wù)器的權(quán)限,則返回true(t);反之返回false(f)。

  • 示例

    SELECT HAS_SERVER_PRIVILEGE('meta_warehouse_server', 'USAGE');

    返回結(jié)果如下。

     has_server_privilege
    ----------------------
     t

HAS_TABLE_PRIVILEGE

  • 描述:確認(rèn)當(dāng)前用戶或指定用戶是否有指定表的特定權(quán)限。

    HAS_TABLE_PRIVILEGE([user, ]table, privilege)
  • 參數(shù)說(shuō)明

    • user:可選,賬號(hào)名稱(chēng)或賬號(hào)ID。

    • table:必填,表名稱(chēng)。

    • privilege:必填,權(quán)限類(lèi)型,也可以用逗號(hào)分隔列出的多個(gè)權(quán)限類(lèi)型。取值為:SELECT、INSERT、UPDATE、DELETE、TRUNCATE。

  • 返回值說(shuō)明

    返回BOOLEAN類(lèi)型,若當(dāng)前用戶或指定用戶有指定表的操作權(quán)限,則返回true(t);反之返回false(f)。

  • 示例

    SELECT HAS_TABLE_PRIVILEGE('test', 'SELECT,INSERT');

    返回結(jié)果如下。

     has_table_privilege
    ---------------------
     t

HAS_TABLESPACE_PRIVILEGE

  • 描述:確認(rèn)當(dāng)前用戶或指定用戶是否有指定表空間的特定權(quán)限。

    HAS_TABLESPACE_PRIVILEGE([user, ]tablespace, privilege)
  • 參數(shù)說(shuō)明

    • user:可選,賬號(hào)名稱(chēng)或賬號(hào)ID。

    • tablespace:必填,表空間名稱(chēng)。

    • privilege:必填,權(quán)限類(lèi)型,也可以用逗號(hào)分隔列出的多個(gè)權(quán)限類(lèi)型。取值為:CREATE。

  • 返回值說(shuō)明

    返回BOOLEAN類(lèi)型,若當(dāng)前用戶或指定用戶有表空間權(quán)限,則返回true(t);反之返回false(f)。

  • 示例

    SELECT HAS_TABLESPACE_PRIVILEGE('pg_default', 'CREATE');

    返回結(jié)果如下。

     has_table_privilege
    ---------------------
     t

HAS_TYPE_PRIVILEGE

  • 描述:確認(rèn)當(dāng)前用戶或指定用戶是否有特定類(lèi)型(?如表、?視圖、?序列等)?的特定權(quán)限。

    HAS_TYPE_PRIVILEGE([user, ]type, privilege)
  • 參數(shù)說(shuō)明

    • user:可選,賬號(hào)名稱(chēng)或賬號(hào)ID。

    • type:必填,類(lèi)型名稱(chēng)。

    • privilege:必填,權(quán)限類(lèi)型,也可以用逗號(hào)分隔列出的多個(gè)權(quán)限類(lèi)型。

  • 返回值說(shuō)明

    返回BOOLEAN類(lèi)型,若當(dāng)前用戶或指定用戶有特定類(lèi)型(?如表、?視圖、?序列等)?的權(quán)限,則返回true(t);反之返回false(f)。

  • 示例

    SELECT HAS_TYPE_PRIVILEGE('test', 'USAGE');

    返回結(jié)果如下。

     has_type_privilege
    --------------------
     t