1、在PostgreSQL安裝過程中的資料初始化階段,系統會預設建立一個名為postgres的角色(同時會建立一個名為postgres的同名database)。
2、可以通過ident身份驗證機制來将作業系統的的root使用者映射到資料的Postgresql角色,這樣可以實作root使用者無密碼直接登入
3、建立具備登入權限的角色
<code>postgres=# </code><code>create</code> <code>role leo login </code><code>password</code> <code>'king'</code> <code>createdb valid until </code><code>'infinity'</code><code>;</code>
valid行是可選的,其功能是為此角色的權限設定有效期,過期後所有權限都将失效,預設時限是infinity,即永不過期。
createdb修飾符表明為此角色賦予了建立資料庫的權限
4、建立具備超級使用者權限的角色
<code>postgres=# </code><code>create</code> <code>role regina login </code><code>password</code> <code>'queen'</code> <code>superuser valid until </code><code>'2019-1-1 00:00'</code><code>;</code>
5、建立組角色
<code>postgres=# </code><code>create</code> <code>role royalty INHERIT;</code>
INHERIT表示組角色royalty的任何一個成員角色都将自動繼承其除“超級使用者權限”外的所有權限。
将組角色的權限授予其成員角色
<code>postgres=# </code><code>grant</code> <code>royalty </code><code>to</code> <code>leo;</code>
<code>postgres=# </code><code>grant</code> <code>royalty </code><code>to</code> <code>regina;</code>
本文轉自 corasql 51CTO部落格,原文連結:http://blog.51cto.com/corasql/1914386,如需轉載請自行聯系原作者