當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


PostgreSQL CREATE ROLE用法及代碼示例

PostgreSQL的使用角色來表示用戶帳戶。它不像其他數據庫係統那樣使用用戶概念。通常,可以登錄的角色稱為登錄角色。它們相當於其他數據庫係統中的用戶。當角色包含其他角色時,它們被稱為組角色。創建角色時,它在數據庫服務器(或集群)中的所有數據庫中都有效。

要創建新角色,您可以使用創建角色聲明如下:

用法:CREATE ROLE role_name;

要獲取當前 PostgreSQL 數據庫服務器中的所有角色,可以從pg_roles 係統目錄如下:

用法: SELECT rolname FROM pg_roles;

這將導致以下結果:



如果一個人使用 查詢語句工具,可以使用\杜命令列出當前 PostgreSQL 數據庫服務器中的所有現有角色:

用法: \du

它的行為如下所示:

角色屬性

角色的屬性定義了該角色的權限,包括登錄、超級用戶、數據庫創建、角色創建、密碼等:

用法: CREATE ROLE name WITH option;

在這個語法中,WITH關鍵字是可選的。而選項可以是一個或多個屬性,包括SUPERCREATEDBCREATEROLE, 等等。

1. 創建登錄角色

以下語句創建一個名為“Raju”的角色,該角色具有登錄權限和初始密碼:

CREATE ROLE raju
LOGIN 
PASSWORD 'mypassword1';

注意:需要將密碼放在單引號中 ()。

現在使用以下命令驗證角色:



\du

角色創建成功如下圖:

2.創建超級用戶角色

以下語句創建了一個名為“Nikhil”的具有超級用戶屬性的角色:

CREATE ROLE Nikhil
SUPERUSER 
LOGIN 
PASSWORD 'mypassword1';

這將導致以下情況:

超級用戶可以覆蓋數據庫中的所有訪問限製,因此您應該僅在需要時創建此角色。

注意:必須是超級用戶才能創建另一個超級用戶角色。

3.創建可以創建數據庫的角色

如果要創建具有數據庫創建權限的角色,請使用 CREATEDB 屬性:

CREATE ROLE dba 
CREATEDB 
LOGIN 
PASSWORD 'Abcd1234';

這將導致以下情況:



4.創建有有效期的角色

要設置角色密碼不再有效的日期和時間,請使用 valid until 屬性:

VALID UNTIL 'timestamp'

例:

CREATE ROLE dev_api WITH
LOGIN
PASSWORD 'securePass1'
VALID UNTIL '2030-01-01';

輸出:

5.創建有連接限製的角色

要指定角色可以建立的並發連接數,請使用 CONNECTION LIMIT 屬性:

CONNECTION LIMIT connection_count

下麵創建了一個名為的新角色API可以建立 1000 個並發連接:

CREATE ROLE api
LOGIN
PASSWORD 'securePass1'
CONNECTION LIMIT 1000;

這將創建一個新角色,如下所示:

以下查詢語句命令顯示到目前為止我們創建的所有角色:

\du

這將顯示如下所示的結果:

相關用法


注:本文由純淨天空篩選整理自RajuKumar19大神的英文原創作品 PostgreSQL – CREATE ROLE。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。