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;