17.2. 用戶屬性

一個資料庫用戶可以有一系列屬性,這些屬性定義他的權限,以及與客戶認證系統的交互。

超級用戶

資料庫超級用戶超越所有權限檢查。同樣,只有超級用戶才能建立新的用戶。 要建立資料庫超級用戶,用 CREATE USER name CREATEUSER

建立資料庫

用戶要想建立資料庫,必須明確給出權限(對於超級用戶是例外,因為他們超越所有權限檢查)。 要建立這樣的用戶,用 CREATE USER name CREATEDB

指令

只有在對客戶認證方法要求客戶在與資料庫建立連接是使用指令的時候,指令才比較重要。 passwordmd5,和 crypt 認證方法使用指令。 資料庫指令與操作系統指令是無關的。在建立用戶的時候聲明一個指令是這樣: CREATE USER name PASSWORD 'string'

一個用戶的屬性可以在建立後用 ALTER USER 修改。 參考 CREATE USERALTER USER 的手冊獲取細節。

一個用戶也可以為許多執行時配置設置個人預設, 那些配置在 Section 16.4 裡描述。 比如,如果出於某種原因您想在所有您做的連接中關閉索引掃瞄(提示:不是個好主意), 您可以用

ALTER USER myname SET enable_indexscan TO off;

這樣就會保存該設置(但是不是立即設置)。 這麼做後,在隨後的連接中就好像在會話開始之後都馬上 SET enable_indexscan TO off;了一樣。 您也可以在會話中修改這個設置;它只是預設。要撤銷任何這樣的設置, 使用 ALTER USER username RESET varname;