You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<
10000
script type="application/json" data-target="react-app.embeddedData">{"payload":{"commit":{"oid":"0b496bc9881fdcb3c20aeaa08bcdc196b8ec6946","url":"/postgres/postgres/commit/0b496bc9881fdcb3c20aeaa08bcdc196b8ec6946","authoredDate":"2023-01-03T14:50:40.000-05:00","committedDate":"2023-01-03T15:08:08.000-05:00","shortMessage":null,"shortMessageMarkdown":"\u003cdiv\u003eImprove documentation of the CREATEROLE attibute.\u003c/div\u003e","shortMessageMarkdownLink":null,"bodyMessageHtml":"In user-manag.sgml, document precisely what privileges are conveyed\nby CREATEROLE. Make particular note of the fact that it allows\nchanging passwords and granting access to high-privilege roles.\nAlso remove the suggestion of using a user with CREATEROLE and\nCREATEDB instead of a superuser, as there is no real security\nadvantage to this approach.\n\nElsewhere in the documentation, adjust text that suggests that\n\u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; only allows for role creation, and\nrefer to the documentation in user-manag.sgml as appropriate.\n\nPatch by me, reviewed by Álvaro Herrera\n\nDiscussion: \u003ca href=\"http://postgr.es/m/CA+TgmoZBsPL8nPhvYecx7iGo5qpDRqa9k_AcaW1SbOjugAY1Ag@mail.gmail.com\" rel=\"nofollow\"\u003ehttp://postgr.es/m/CA+TgmoZBsPL8nPhvYecx7iGo5qpDRqa9k_AcaW1SbOjugAY1Ag@mail.gmail.com\u003c/a\u003e","authors":[{"login":"robertmhaas","displayName":"Robert Haas","avatarUrl":"https://avatars.githubusercontent.com/u/886678?v=4","path":"/robertmhaas","isGitHub":false}],"committerAttribution":false,"committer":{"login":"robertmhaas","displayName":"Robert Haas","avatarUrl":"https://avatars.githubusercontent.com/u/886678?v=4","path":"/robertmhaas","isGitHub":false},"parents":["a80740a7c9792a622e5ebb75010ea48a5521bf56"],"globalRelayId":"C_kwDOAA4m0toAKDBiNDk2YmM5ODgxZmRjYjNjMjBhZWFhMDhiY2RjMTk2YjhlYzY5NDY","sha1":"a80740a7c9792a622e5ebb75010ea48a5521bf56","sha2":"0b496bc9881fdcb3c20aeaa08bcdc196b8ec6946"},"currentUser":null,"repo":{"id":927442,"defaultBranch":"master","name":"postgres","ownerLogin":"postgres","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-09-21T11:35:45.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/177543?v=4","public":true,"private":false,"isOrgOwned":true},"diffEntryData":[{"diffLines":[{"stylingDirective":null,"type":"HUNK","blobLineNumber":304,"text":"@@ -305,7 +305,7 @@ ALTER ROLE fred VALID UNTIL 'infinity';","html":"@@ -305,7 +305,7 @@ ALTER ROLE fred VALID UNTIL \u0026#39;infinity\u0026#39;;","displayNoNewLineWarning":false,"position":0,"left":304,"right":304},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":305,"text":" \u003c/para\u003e","html":" \u0026lt;/para\u0026gt;","displayNoNewLineWarning":false,"position":1,"left":305,"right":305},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":306,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":2,"left":306,"right":306},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":307,"text":" \u003cpara\u003e","html":" \u0026lt;para\u0026gt;","displayNoNewLineWarning":false,"position":3,"left":307,"right":307},{"stylingDirective":null,"type":"DELETION","blobLineNumber":308,"text":"- Give a role the ability to create other roles and new databases:","html":"- Give a role the ability to \u003cspan class=\"x x-first x-last\"\u003ecreate\u003c/span\u003e other roles and new databases:","displayNoNewLineWarning":false,"position":4,"left":308,"right":307},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":308,"text":"+ Give a role the ability to manage other roles and create new databases:","html":"+ Give a role the ability to \u003cspan class=\"x x-first x-last\"\u003emanage\u003c/span\u003e other roles and\u003cspan class=\"x x-first x-last\"\u003e create\u003c/span\u003e new databases:","displayNoNewLineWarning":false,"position":5,"left":308,"right":308},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":309,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":6,"left":309,"right":309},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":310,"text":" \u003cprogramlisting\u003e","html":" \u0026lt;programlisting\u0026gt;","displayNoNewLineWarning":false,"position":7,"left":310,"right":310},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":311,"text":" ALTER ROLE miriam CREATEROLE CREATEDB;","html":" ALTER ROLE miriam CREATEROLE CREATEDB;","displayNoNewLineWarning":false,"position":8,"left":311,"right":311}],"diffNumber":0,"diffSize":"0 Bytes","isBinary":false,"isTooBig":false,"collapsed":false,"isSubmodule":false,"lineCount":352,"linesChanged":2,"newTreeEntry":{"lineCount":352,"path":"doc/src/sgml/ref/alter_role.sgml","mode":100644,"isGenerated":false},"oldTreeEntry":{"lineCount":0,"path":"doc/src/sgml/ref/alter_role.sgml","mode":100644},"linesAdded":1,"linesDeleted":1,"path":"doc/src/sgml/ref/alter_role.sgml","pathDigest":"1fe5161882977ba2da0e76bb081c9fc257b672db7a55ec5d45ef313b44dcb44e","status":"MODIFIED","truncatedReason":null,"oldOid":"a80740a7c9792a622e5ebb75010ea48a5521bf56","newOid":"0b496bc9881fdcb3c20aeaa08bcdc196b8ec6946","copilotChatReference":null,"deletedSha":"a80740a7c9792a622e5ebb75010ea48a5521bf56","canToggleRichDiff":false,"defaultToRichDiff":false,"proseDifffHtml":null,"renderInfo":null,"dependencyDiffPath":null,"submodule":null},{"diffLines":[{"stylingDirective":null,"type":"HUNK","blobLineNumber":118,"text":"@@ -119,11 +119,11 @@ in sync when changing the above synopsis!","html":"@@ -119,11 +119,11 @@ in sync when changing the above synopsis!","displayNoNewLineWarning":false,"position":0,"left":118,"right":118},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":119,"text":" \u003clistitem\u003e","html":" \u0026lt;listitem\u0026gt;","displayNoNewLineWarning":false,"position":1,"left":119,"right":119},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":120,"text":" \u003cpara\u003e","html":" \u0026lt;para\u0026gt;","displayNoNewLineWarning":false,"position":2,"left":120,"right":120},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":121,"text":" These clauses determine whether a role will be permitted to","html":" These clauses determine whether a role will be permitted to","displayNoNewLineWarning":false,"position":3,"left":121,"right":121},{"stylingDirective":null,"type":"DELETION","blobLineNumber":122,"text":"- create new roles (that is, execute \u003ccommand\u003eCREATE ROLE\u003c/command\u003e).","html":"- create\u003cspan class=\"x x-first x-last\"\u003e new roles (that is, execute \u0026lt;command\u0026gt;CREATE ROLE\u0026lt;/command\u0026gt;).\u003c/span\u003e","displayNoNewLineWarning":false,"position":4,"left":122,"right":121},{"stylingDirective":null,"type":"DELETION","blobLineNumber":123,"text":"- A role with \u003cliteral\u003eCREATEROLE\u003c/literal\u003e privilege can also alter","html":"- \u003cspan class=\"x x-first x-last\"\u003eA role with \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; privilege can also alter\u003c/span\u003e","displayNoNewLineWarning":false,"position":5,"left":123,"right":121},{"stylingDirective":null,"type":"DELETION","blobLineNumber":124,"text":"- and drop other roles.","html":"- \u003cspan class=\"x x-first x-last\"\u003eand drop other roles.\u003c/span\u003e","displayNoNewLineWarning":false,"position":6,"left":124,"right":121},{"stylingDirective":null,"type":"DELETION","blobLineNumber":125,"text":"- If not specified,","html":"- \u003cspan class=\"x x-first x-last\"\u003eIf not specified,\u003c/span\u003e","displayNoNewLineWarning":false,"position":7,"left":125,"right":121},{"stylingDirective":null,"type":"DELETION","blobLineNumber":126,"text":"- \u003cliteral\u003eNOCREATEROLE\u003c/literal\u003e is the default.","html":"- \u0026lt;literal\u0026gt;NOCREATEROLE\u0026lt;/literal\u0026gt; is the default.","displayNoNewLineWarning":false,"position":8,"left":126,"right":121},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":122,"text":"+ create, alter, drop, comment on, change the security label for,","html":"+ create\u003cspan class=\"x x-first x-last\"\u003e, alter, drop, comment on, change the security label for,\u003c/span\u003e","displayNoNewLineWarning":false,"position":9,"left":126,"right":122},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":123,"text":"+ and grant or revoke membership in other roles.","html":"+ \u003cspan class=\"x x-first x-last\"\u003eand grant or revoke membership in other roles.\u003c/span\u003e","displayNoNewLineWarning":false,"position":10,"left":126,"right":123},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":124,"text":"+ See \u003cxref linkend='role-creation' /\u003e for more details about what","html":"+ \u003cspan class=\"x x-first x-last\"\u003eSee \u0026lt;xref linkend=\u0026#39;role-creation\u0026#39; /\u0026gt; for more details about what\u003c/span\u003e","displayNoNewLineWarning":false,"position":11,"left":126,"right":124},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":125,"text":"+ capabilities are conferred by this privilege.","html":"+ \u003cspan class=\"x x-first x-last\"\u003ecapabilities are conferred by this privilege.\u003c/span\u003e","displayNoNewLineWarning":false,"position":12,"left":126,"right":125},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":126,"text":"+ If not specified, \u003cliteral\u003eNOCREATEROLE\u003c/literal\u003e is the default.","html":"+ \u003cspan class=\"x x-first x-last\"\u003eIf not specified, \u003c/span\u003e\u0026lt;literal\u0026gt;NOCREATEROLE\u0026lt;/literal\u0026gt; is the default.","displayNoNewLineWarning":false,"position":13,"left":126,"right":126},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":127,"text":" \u003c/para\u003e","html":" \u0026lt;/para\u0026gt;","displayNoNewLineWarning":false,"position":14,"left":127,"right":127},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":128,"text":" \u003c/listitem\u003e","html":" \u0026lt;/listitem\u0026gt;","displayNoNewLineWarning":false,"position":15,"left":128,"right":128},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":129,"text":" \u003c/varlistentry\u003e","html":" \u0026lt;/varlistentry\u0026gt;","displayNoNewLineWarning":false,"position":16,"left":129,"right":129}],"diffNumber":1,"diffSize":"0 Bytes","isBinary":false,"isTooBig":false,"collapsed":false,"isSubmodule":false,"lineCount":504,"linesChanged":10,"newTreeEntry":{"lineCount":504,"path":"doc/src/sgml/ref/create_role.sgml","mode":100644,"isGenerated":false},"oldTreeEntry":{"lineCount":0,"path":"doc/src/sgml/ref/create_role.sgml","mode":100644},"linesAdded":5,"linesDeleted":5,"path":"doc/src/sgml/ref/create_role.sgml","pathDigest":"32e0f11da08e70932903a6b46fed60cf2854b8f20f7ee6a8db4816c82aac92cd","status":"MODIFIED","truncatedReason":null,"oldOid":"a80740a7c9792a622e5ebb75010ea48a5521bf56","newOid":"0b496bc9881fdcb3c20aeaa08bcdc196b8ec6946","copilotChatReference":null,"deletedSha":"a80740a7c9792a622e5ebb75010ea48a5521bf56","canToggleRichDiff":false,"defaultToRichDiff":false,"proseDifffHtml":null,"renderInfo":null,"dependencyDiffPath":null,"submodule":null},{"diffLines":[{"stylingDirective":null,"type":"HUNK","blobLineNumber":40,"text":"@@ -41,10 +41,14 @@ PostgreSQL documentation","html":"@@ -41,10 +41,14 @@ PostgreSQL documentation","displayNoNewLineWarning":false,"position":0,"left":40,"right":40},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":41,"text":" \u003c/para\u003e","html":" \u0026lt;/para\u0026gt;","displayNoNewLineWarning":false,"position":1,"left":41,"right":41},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":42,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":2,"left":42,"right":42},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":43,"text":" \u003cpara\u003e","html":" \u0026lt;para\u0026gt;","displayNoNewLineWarning":false,"position":3,"left":43,"right":43},{"stylingDirective":null,"type":"DELETION","blobLineNumber":44,"text":"- If you wish to create a new superuser, you must connect as a","html":"- If you wish to create a new superuser, you must connect as a","displayNoNewLineWarning":false,"position":4,"left":44,"right":43},{"stylingDirective":null,"type":"DELETION","blobLineNumber":45,"text":"- superuser, not merely with \u003cliteral\u003eCREATEROLE\u003c/literal\u003e privilege.","html":"- superuser, not merely with \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; privilege.","displayNoNewLineWarning":false,"position":5,"left":45,"right":43},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":44,"text":"+ If you wish to create a role with the \u003cliteral\u003eSUPERUSER\u003c/literal\u003e,","html":"+ If you wish to create a role with the \u0026lt;literal\u0026gt;SUPERUSER\u0026lt;/literal\u0026gt;,","displayNoNewLineWarning":false,"position":6,"left":45,"right":44},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":45,"text":"+ \u003cliteral\u003eREPLICATION\u003c/literal\u003e, or \u003cliteral\u003eBYPASSRLS\u003c/literal\u003e privilege,","html":"+ \u0026lt;literal\u0026gt;REPLICATION\u0026lt;/literal\u0026gt;, or \u0026lt;literal\u0026gt;BYPASSRLS\u0026lt;/literal\u0026gt; privilege,","displayNoNewLineWarning":false,"position":7,"left":45,"right":45},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":46,"text":"+ you must connect as a superuser, not merely with","html":"+ you must connect as a superuser, not merely with","displayNoNewLineWarning":false,"position":8,"left":45,"right":46},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":47,"text":"+ \u003cliteral\u003eCREATEROLE\u003c/literal\u003e privilege.","html":"+ \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; privilege.","displayNoNewLineWarning":false,"position":9,"left":45,"right":47},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":48,"text":" Being a superuser implies the ability to bypass all access permission","html":" Being a superuser implies the ability to bypass all access permission","displayNoNewLineWarning":false,"position":10,"left":46,"right":48},{"stylingDirective":null,"type":"DELETION","blobLineNumber":47,"text":"- checks within the database, so superuser access should not be granted lightly.","html":"- checks within the database, so superuser access should not be granted lightly.","displayNoNewLineWarning":false,"position":11,"left":47,"right":48},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":49,"text":"+ checks within the database, so superuser access should not be granted","html":"+ checks within the database, so superuser access should not be granted","displayNoNewLineWarning":false,"position":12,"left":47,"right":49},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":50,"text":"+ lightly. \u003cliteral\u003eCREATEROLE\u003c/literal\u003e also conveys","html":"+ lightly. \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; also conveys","displayNoNewLineWarning":false,"position":13,"left":47,"right":50},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":51,"text":"+ \u003clink linkend='role-creation'\u003every extensive privileges\u003c/link\u003e.","html":"+ \u0026lt;link linkend=\u0026#39;role-creation\u0026#39;\u0026gt;very extensive privileges\u0026lt;/link\u0026gt;.","displayNoNewLineWarning":false,"position":14,"left":47,"right":51},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":52,"text":" \u003c/para\u003e","html":" \u0026lt;/para\u0026gt;","displayNoNewLineWarning":false,"position":15,"left":48,"right":52},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":53,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":16,"left":49,"right":53},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":54,"text":" \u003cpara\u003e","html":" \u0026lt;para\u0026gt;","displayNoNewLineWarning":false,"position":17,"left":50,"right":54},{"stylingDirective":null,"type":"HUNK","blobLineNumber":224,"text":"@@ -221,8 +225,12 @@ PostgreSQL documentation","html":"@@ -221,8 +225,12 @@ PostgreSQL documentation","displayNoNewLineWarning":false,"position":18,"left":220,"right":224},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":225,"text":" \u003cterm\u003e\u003coption\u003e--createrole\u003c/option\u003e\u003c/term\u003e","html":" \u0026lt;term\u0026gt;\u0026lt;option\u0026gt;--createrole\u0026lt;/option\u0026gt;\u0026lt;/term\u0026gt;","displayNoNewLineWarning":false,"position":19,"left":221,"right":225},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":226,"text":" \u003clistitem\u003e","html":" \u0026lt;listitem\u0026gt;","displayNoNewLineWarning":false,"position":20,"left":222,"right":226},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":227,"text":" \u003cpara\u003e","html":" \u0026lt;para\u0026gt;","displayNoNewLineWarning":false,"position":21,"left":223,"right":227},{"stylingDirective":null,"type":"DELETION","blobLineNumber":224,"text":"- The new user will be allowed to create new roles (that is,","html":"- The new user will be allowed to create new roles (that is,","displayNoNewLineWarning":false,"position":22,"left":224,"right":227},{"stylingDirective":null,"type":"DELETION","blobLineNumber":225,"text":"- this user will have \u003cliteral\u003eCREATEROLE\u003c/literal\u003e privilege).","html":"- this user will have \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; privilege).","displayNoNewLineWarning":false,"position":23,"left":225,"right":227},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":228,"text":"+ The new user will be allowed to create, alter, drop, comment on,","html":"+ The new user will be allowed to create, alter, drop, comment on,","displayNoNewLineWarning":false,"position":24,"left":225,"right":228},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":229,"text":"+ change the security label for, and grant or revoke membership in","html":"+ change the security label for, and grant or revoke membership in","displayNoNewLineWarning":false,"position":25,"left":225,"right":229},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":230,"text":"+ other roles; that is,","html":"+ other roles; that is,","displayNoNewLineWarning":false,"position":26,"left":225,"right":230},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":231,"text":"+ this user will have \u003cliteral\u003eCREATEROLE\u003c/literal\u003e privilege.","html":"+ this user will have \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; privilege.","displayNoNewLineWarning":false,"position":27,"left":225,"right":231},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":232,"text":"+ See \u003cxref linkend='role-creation' /\u003e for more details about what","html":"+ See \u0026lt;xref linkend=\u0026#39;role-creation\u0026#39; /\u0026gt; for more details about what","displayNoNewLineWarning":false,"position":28,"left":225,"right":232},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":233,"text":"+ capabilities are conferred by this privilege.","html":"+ capabilities are conferred by this privilege.","displayNoNewLineWarning":false,"position":29,"left":225,"right":233},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":234,"text":" \u003c/para\u003e","html":" \u0026lt;/para\u0026gt;","displayNoNewLineWarning":false,"position":30,"left":226,"right":234},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":235,"text":" \u003c/listitem\u003e","html":" \u0026lt;/listitem\u0026gt;","displayNoNewLineWarning":false,"position":31,"left":227,"right":235},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":236,"text":" \u003c/varlistentry\u003e","html":" \u0026lt;/varlistentry\u0026gt;","displayNoNewLineWarning":false,"position":32,"left":228,"right":236}],"diffNumber":2,"diffSize":"0 Bytes","isBinary":false,"isTooBig":false,"collapsed":false,"isSubmodule":false,"lineCount":495,"linesChanged":18,"newTreeEntry":{"lineCount":495,"path":"doc/src/sgml/ref/createuser.sgml","mode":100644,"isGenerated":false},"oldTreeEntry":{"lineCount":0,"path":"doc/src/sgml/ref/createuser.sgml","mode":100644},"linesAdded":13,"linesDeleted":5,"path":"doc/src/sgml/ref/createuser.sgml","pathDigest":"e6e5f11c538ba2c69a676023bdc77115f9ac033187b47c8fc53767fd0f5482a0","status":"MODIFIED","truncatedReason":null,"oldOid":"a80740a7c9792a622e5ebb75010ea48a5521bf56","newOid":"0b496bc9881fdcb3c20aeaa08bcdc196b8ec6946","copilotChatReference":null,"deletedSha":"a80740a7c9792a622e5ebb75010ea48a5521bf56","canToggleRichDiff":false,"defaultToRichDiff":false,"proseDifffHtml":null,"renderInfo":null,"dependencyDiffPath":null,"submodule":null},{"diffLines":[{"stylingDirective":null,"type":"HUNK","blobLineNumber":190,"text":"@@ -191,7 +191,7 @@ CREATE USER \u003creplaceable\u003ename\u003c/replaceable\u003e;","html":"@@ -191,7 +191,7 @@ CREATE USER \u0026lt;replaceable\u0026gt;name\u0026lt;/replaceable\u0026gt;;","displayNoNewLineWarning":false,"position":0,"left":190,"right":190},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":191,"text":" \u003c/varlistentry\u003e","html":" \u0026lt;/varlistentry\u0026gt;","displayNoNewLineWarning":false,"position":1,"left":191,"right":191},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":192,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":2,"left":192,"right":192},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":193,"text":" \u003cvarlistentry\u003e","html":" \u0026lt;varlistentry\u0026gt;","displayNoNewLineWarning":false,"position":3,"left":193,"right":193},{"stylingDirective":null,"type":"DELETION","blobLineNumber":194,"text":"- \u003cterm\u003erole creation\u003cindexterm\u003e\u003cprimary\u003erole\u003c/primary\u003e\u003csecondary\u003eprivilege to create\u003c/secondary\u003e\u003c/indexterm\u003e\u003c/term\u003e","html":"- \u0026lt;term\u0026gt;role creation\u0026lt;indexterm\u0026gt;\u0026lt;primary\u0026gt;role\u0026lt;/primary\u0026gt;\u0026lt;secondary\u0026gt;privilege to create\u0026lt;/secondary\u0026gt;\u0026lt;/indexterm\u0026gt;\u0026lt;/term\u0026gt;","displayNoNewLineWarning":false,"position":4,"left":194,"right":193},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":194,"text":"+ \u003cterm id='role-creation'\u003erole creation\u003cindexterm\u003e\u003cprimary\u003erole\u003c/primary\u003e\u003csecondary\u003eprivilege to create\u003c/secondary\u003e\u003c/indexterm\u003e\u003c/term\u003e","html":"+ \u0026lt;term\u003cspan class=\"x x-first x-last\"\u003e id=\u0026#39;role-creation\u0026#39;\u003c/span\u003e\u0026gt;role creation\u0026lt;indexterm\u0026gt;\u0026lt;primary\u0026gt;role\u0026lt;/primary\u0026gt;\u0026lt;secondary\u0026gt;privilege to create\u0026lt;/secondary\u0026gt;\u0026lt;/indexterm\u0026gt;\u0026lt;/term\u0026gt;","displayNoNewLineWarning":false,"position":5,"left":194,"right":194},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":195,"text":" \u003clistitem\u003e","html":" \u0026lt;listitem\u0026gt;","displayNoNewLineWarning":false,"position":6,"left":195,"right":195},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":196,"text":" \u003cpara\u003e","html":" \u0026lt;para\u0026gt;","displayNoNewLineWarning":false,"position":7,"left":196,"right":196},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":197,"text":" A role must be explicitly given permission to create more roles","html":" A role must be explicitly given permission to create more roles","displayNoNewLineWarning":false,"position":8,"left":197,"right":197},{"stylingDirective":null,"type":"HUNK","blobLineNumber":199,"text":"@@ -200,9 +200,38 @@ CREATE USER \u003creplaceable\u003ename\u003c/replaceable\u003e;","html":"@@ -200,9 +200,38 @@ CREATE USER \u0026lt;replaceable\u0026gt;name\u0026lt;/replaceable\u0026gt;;","displayNoNewLineWarning":false,"position":9,"left":199,"right":199},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":200,"text":" \u003creplaceable\u003ename\u003c/replaceable\u003e CREATEROLE\u003c/literal\u003e.","html":" \u0026lt;replaceable\u0026gt;name\u0026lt;/replaceable\u0026gt; CREATEROLE\u0026lt;/literal\u0026gt;.","displayNoNewLineWarning":false,"position":10,"left":200,"right":200},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":201,"text":" A role with \u003cliteral\u003eCREATEROLE\u003c/literal\u003e privilege can alter and drop","html":" A role with \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; privilege can alter and drop","displayNoNewLineWarning":false,"position":11,"left":201,"right":201},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":202,"text":" other roles, too, as well as grant or revoke membership in them.","html":" other roles, too, as well as grant or revoke membership in them.","displayNoNewLineWarning":false,"position":12,"left":202,"right":202},{"stylingDirective":null,"type":"DELETION","blobLineNumber":203,"text":"- However, to create, alter, drop, or change membership of a","html":"- However, to create, alter, drop, or change membership of a","displayNoNewLineWarning":false,"position":13,"left":203,"right":202},{"stylingDirective":null,"type":"DELETION","blobLineNumber":204,"text":"- superuser role, superuser status is required;","html":"- superuser role, superuser status is required;","displayNoNewLineWarning":false,"position":14,"left":204,"right":202},{"stylingDirective":null,"type":"DELETION","blobLineNumber":205,"text":"- \u003cliteral\u003eCREATEROLE\u003c/literal\u003e is insufficient for that.","html":"- \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; is insufficient for that.","displayNoNewLineWarning":false,"position":15,"left":205,"right":202},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":203,"text":"+ Altering a role includes most changes that can be made using","html":"+ Altering a role includes most changes that can be made using","displayNoNewLineWarning":false,"position":16,"left":205,"right":203},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":204,"text":"+ \u003cliteral\u003eALTER ROLE\u003c/literal\u003e, including, for example, changing","html":"+ \u0026lt;literal\u0026gt;ALTER ROLE\u0026lt;/literal\u0026gt;, including, for example, changing","displayNoNewLineWarning":false,"position":17,"left":205,"right":204},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":205,"text":"+ passwords. It also includes modifications to a role that can","html":"+ passwords. It also includes modifications to a role that can","displayNoNewLineWarning":false,"position":18,"left":205,"right":205},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":206,"text":"+ be made using the \u003cliteral\u003eCOMMENT\u003c/literal\u003e and","html":"+ be made using the \u0026lt;literal\u0026gt;COMMENT\u0026lt;/literal\u0026gt; and","displayNoNewLineWarning":false,"position":19,"left":205,"right":206},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":207,"text":"+ \u003cliteral\u003eSECURITY LABEL\u003c/literal\u003e commands.","html":"+ \u0026lt;literal\u0026gt;SECURITY LABEL\u0026lt;/literal\u0026gt; commands.","displayNoNewLineWarning":false,"position":20,"left":205,"right":207},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":208,"text":"+ \u003c/para\u003e","html":"+ \u0026lt;/para\u0026gt;","displayNoNewLineWarning":false,"position":21,"left":205,"right":208},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":209,"text":"+ \u003cpara\u003e","html":"+ \u0026lt;para\u0026gt;","displayNoNewLineWarning":false,"position":22,"left":205,"right":209},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":210,"text":"+ However, \u003cliteral\u003eCREATEROLE\u003c/literal\u003e does not convey the ability to","html":"+ However, \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; does not convey the ability to","displayNoNewLineWarning":false,"position":23,"left":205,"right":210},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":211,"text":"+ create \u003cliteral\u003eSUPERUSER\u003c/literal\u003e roles, nor does it convey any","html":"+ create \u0026lt;literal\u0026gt;SUPERUSER\u0026lt;/literal\u0026gt; roles, nor does it convey any","displayNoNewLineWarning":false,"position":24,"left":205,"right":211},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":212,"text":"+ power over \u003cliteral\u003eSUPERUSER\u003c/literal\u003e roles that already exist.","html":"+ power over \u0026lt;literal\u0026gt;SUPERUSER\u0026lt;/literal\u0026gt; roles that already exist.","displayNoNewLineWarning":false,"position":25,"left":205,"right":212},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":213,"text":"+ Furthermore, \u003cliteral\u003eCREATEROLE\u003c/literal\u003e does not convey the power","html":"+ Furthermore, \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; does not convey the power","displayNoNewLineWarning":false,"position":26,"left":205,"right":213},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":214,"text":"+ to create \u003cliteral\u003eREPLICATION\u003c/literal\u003e users, nor the ability to","html":"+ to create \u0026lt;literal\u0026gt;REPLICATION\u0026lt;/literal\u0026gt; users, nor the ability to","displayNoNewLineWarning":false,"position":27,"left":205,"right":214},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":215,"text":"+ grant or revoke the \u003cliteral\u003eREPLICATION\u003c/literal\u003e privilege, nor the","html":"+ grant or revoke the \u0026lt;literal\u0026gt;REPLICATION\u0026lt;/literal\u0026gt; privilege, nor the","displayNoNewLineWarning":false,"position":28,"left":205,"right":215},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":216,"text":"+ ability to modify the role properties of such users. However, it does","html":"+ ability to modify the role properties of such users. However, it does","displayNoNewLineWarning":false,"position":29,"left":205,"right":216},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":217,"text":"+ allow \u003cliteral\u003eALTER ROLE ... SET\u003c/literal\u003e and","html":"+ allow \u0026lt;literal\u0026gt;ALTER ROLE ... SET\u0026lt;/literal\u0026gt; and","displayNoNewLineWarning":false,"position":30,"left":205,"right":217},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":218,"text":"+ \u003cliteral\u003eALTER ROLE ... RENAME\u003c/literal\u003e to be used on","html":"+ \u0026lt;literal\u0026gt;ALTER ROLE ... RENAME\u0026lt;/literal\u0026gt; to be used on","displayNoNewLineWarning":false,"position":31,"left":205,"right":218},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":219,"text":"+ \u003cliteral\u003eREPLICATION\u003c/literal\u003e roles, as well as the use of","html":"+ \u0026lt;literal\u0026gt;REPLICATION\u0026lt;/literal\u0026gt; roles, as well as the use of","displayNoNewLineWarning":false,"position":32,"left":205,"right":219},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":220,"text":"+ \u003cliteral\u003eCOMMENT ON ROLE\u003c/literal\u003e,","html":"+ \u0026lt;literal\u0026gt;COMMENT ON ROLE\u0026lt;/literal\u0026gt;,","displayNoNewLineWarning":false,"position":33,"left":205,"right":220},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":221,"text":"+ \u003cliteral\u003eSECURITY LABEL ON ROLE\u003c/literal\u003e,","html":"+ \u0026lt;literal\u0026gt;SECURITY LABEL ON ROLE\u0026lt;/literal\u0026gt;,","displayNoNewLineWarning":false,"position":34,"left":205,"right":221},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":222,"text":"+ and \u003cliteral\u003eDROP ROLE\u003c/literal\u003e.","html":"+ and \u0026lt;literal\u0026gt;DROP ROLE\u0026lt;/literal\u0026gt;.","displayNoNewLineWarning":false,"position":35,"left":205,"right":222},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":223,"text":"+ Finally, \u003cliteral\u003eCREATEROLE\u003c/literal\u003e does not","html":"+ Finally, \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; does not","displayNoNewLineWarning":false,"position":36,"left":205,"right":223},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":224,"text":"+ confer the ability to grant or revoke the \u003cliteral\u003eBYPASSRLS\u003c/literal\u003e","html":"+ confer the ability to grant or revoke the \u0026lt;literal\u0026gt;BYPASSRLS\u0026lt;/literal\u0026gt;","displayNoNewLineWarning":false,"position":37,"left":205,"right":224},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":225,"text":"+ privilege.","html":"+ privilege.","displayNoNewLineWarning":false,"position":38,"left":205,"right":225},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":226,"text":"+ \u003c/para\u003e","html":"+ \u0026lt;/para\u0026gt;","displayNoNewLineWarning":false,"position":39,"left":205,"right":226},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":227,"text":"+ \u003cpara\u003e","html":"+ \u0026lt;para\u0026gt;","displayNoNewLineWarning":false,"position":40,"left":205,"right":227},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":228,"text":"+ Because the \u003cliteral\u003eCREATEROLE\u003c/literal\u003e privilege allows a user","html":"+ Because the \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; privilege allows a user","displayNoNewLineWarning":false,"position":41,"left":205,"right":228},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":229,"text":"+ to grant or revoke membership even in roles to which it does not (yet)","html":"+ to grant or revoke membership even in roles to which it does not (yet)","displayNoNewLineWarning":false,"position":42,"left":205,"right":229},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":230,"text":"+ have any access, a \u003cliteral\u003eCREATEROLE\u003c/literal\u003e user can obtain access","html":"+ have any access, a \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; user can obtain access","displayNoNewLineWarning":false,"position":43,"left":205,"right":230},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":231,"text":"+ to the capabilities of every predefined role in the system, including","html":"+ to the capabilities of every predefined role in the system, including","displayNoNewLineWarning":false,"position":44,"left":205,"right":231},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":232,"text":"+ highly privileged roles such as","html":"+ highly privileged roles such as","displayNoNewLineWarning":false,"position":45,"left":205,"right":232},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":233,"text":"+ \u003cliteral\u003epg_execute_server_program\u003c/literal\u003e and","html":"+ \u0026lt;literal\u0026gt;pg_execute_server_program\u0026lt;/literal\u0026gt; and","displayNoNewLineWarning":false,"position":46,"left":205,"right":233},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":234,"text":"+ \u003cliteral\u003epg_write_server_files\u003c/literal\u003e.","html":"+ \u0026lt;literal\u0026gt;pg_write_server_files\u0026lt;/literal\u0026gt;.","displayNoNewLineWarning":false,"position":47,"left":205,"right":234},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":235,"text":" \u003c/para\u003e","html":" \u0026lt;/para\u0026gt;","displayNoNewLineWarning":false,"position":48,"left":206,"right":235},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":236,"text":" \u003c/listitem\u003e","html":" \u0026lt;/listitem\u0026gt;","displayNoNewLineWarning":false,"position":49,"left":207,"right":236},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":237,"text":" \u003c/varlistentry\u003e","html":" \u0026lt;/varlistentry\u0026gt;","displayNoNewLineWarning":false,"position":50,"left":208,"right":237},{"stylingDirective":null,"type":"HUNK","blobLineNumber":305,"text":"@@ -277,16 +306,6 @@ CREATE USER \u003creplaceable\u003ename\u003c/replaceable\u003e;","html":"@@ -277,16 +306,6 @@ CREATE USER \u0026lt;replaceable\u0026gt;name\u0026lt;/replaceable\u0026gt;;","displayNoNewLineWarning":false,"position":51,"left":276,"right":305},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":306,"text":" and \u003cxref linkend=\"sql-alterrole\"/\u003e commands for details.","html":" and \u0026lt;xref linkend=\u0026quot;sql-alterrole\u0026quot;/\u0026gt; commands for details.","displayNoNewLineWarning":false,"position":52,"left":277,"right":306},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":307,"text":" \u003c/para\u003e","html":" \u0026lt;/para\u0026gt;","displayNoNewLineWarning":false,"position":53,"left":278,"right":307},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":308,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":54,"left":279,"right":308},{"stylingDirective":null,"type":"DELETION","blobLineNumber":280,"text":"- \u003ctip\u003e","html":"- \u0026lt;tip\u0026gt;","displayNoNewLineWarning":false,"position":55,"left":280,"right":308},{"stylingDirective":null,"type":"DELETION","blobLineNumber":281,"text":"- \u003cpara\u003e","html":"- \u0026lt;para\u0026gt;","displayNoNewLineWarning":false,"position":56,"left":281,"right":308},{"stylingDirective":null,"type":"DELETION","blobLineNumber":282,"text":"- It is good practice to create a role that has the \u003cliteral\u003eCREATEDB\u003c/literal\u003e","html":"- It is good practice to create a role that has the \u0026lt;literal\u0026gt;CREATEDB\u0026lt;/literal\u0026gt;","displayNoNewLineWarning":false,"position":57,"left":282,"right":308},{"stylingDirective":null,"type":"DELETION","blobLineNumber":283,"text":"- and \u003cliteral\u003eCREATEROLE\u003c/literal\u003e privileges, but is not a superuser, and then","html":"- and \u0026lt;literal\u0026gt;CREATEROLE\u0026lt;/literal\u0026gt; privileges, but is not a superuser, and then","displayNoNewLineWarning":false,"position":58,"left":283,"right":308},{"stylingDirective":null,"type":"DELETION","blobLineNumber":284,"text":"- use this role for all routine management of databases and roles. This","html":"- use this role for all routine management of databases and roles. This","displayNoNewLineWarning":false,"position":59,"left":284,"right":308},{"stylingDirective":null,"type":"DELETION","blobLineNumber":285,"text":"- approach avoids the dangers of operating as a superuser for tasks that","html":"- approach avoids the dangers of operating as a superuser for tasks that","displayNoNewLineWarning":false,"position":60,"left":285,"right":308},{"stylingDirective":null,"type":"DELETION","blobLineNumber":286,"text":"- do not really require it.","html":"- do not really require it.","displayNoNewLineWarning":false,"position":61,"left":286,"right":308},{"stylingDirective":null,"type":"DELETION","blobLineNumber":287,"text":"- \u003c/para\u003e","html":"- \u0026lt;/para\u0026gt;","displayNoNewLineWarning":false,"position":62,"left":287,"right":308},{"stylingDirective":null,"type":"DELETION","blobLineNumber":288,"text":"- \u003c/tip\u003e","html":"- \u0026lt;/tip\u0026gt;","displayNoNewLineWarning":false,"position":63,"left":288,"right":308},{"stylingDirective":null,"type":"DELETION","blobLineNumber":289,"text":"-","html":"-","displayNoNewLineWarning":false,"position":64,"left":289,"right":308},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":309,"text":" \u003cpara\u003e","html":" \u0026lt;para\u0026gt;","displayNoNewLineWarning":false,"position":65,"left":290,"right":309},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":310,"text":" A role can also have role-specific defaults for many of the run-time","html":" A role can also have role-specific defaults for many of the run-time","displayNoNewLineWarning":false,"position":66,"left":291,"right":310},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":311,"text":" configuration settings described in \u003cxref","html":" configuration settings described in \u0026lt;xref","displayNoNewLineWarning":false,"position":67,"left":292,"right":311}],"diffNumber":3,"diffSize":"0 Bytes","isBinary":false,"isTooBig":false,"collapsed":false,"isSubmodule":false,"lineCount":688,"linesChanged":47,"newTreeEntry":{"lineCount":688,"path":"doc/src/sgml/user-manag.sgml","mode":100644,"isGenerated":false},"oldTreeEntry":{"lineCount":0,"path":"doc/src/sgml/user-manag.sgml","mode":100644},"linesAdded":33,"linesDeleted":14,"path":"doc/src/sgml/user-manag.sgml","pathDigest":"d83e9ec7f9bd065862cb35b084493769f017d57825277fc313fc2c0c3f80fefa","status":"MODIFIED","truncatedReason":null,"oldOid":"a80740a7c9792a622e5ebb75010ea48a5521bf56","newOid":"0b496bc9881fdcb3c20aeaa08bcdc196b8ec6946","copilotChatReference":null,"deletedSha":"a80740a7c9792a622e5ebb75010ea48a5521bf56","canToggleRichDiff":false,"defaultToRichDiff":false,"proseDifffHtml":null,"renderInfo":null,"dependencyDiffPath":null,"submodule":null}],"splitViewPreference":"unified","ignoreWhitespace":false,"repoOwnerGlobalRelayId":"MDEyOk9yZ2FuaXphdGlvbjE3NzU0Mw==","commentsPreference":"visible","diffLineSpacingPreference":"relaxed","useMonospaceFont":false,"pasteUrlLinkAsPlainText":false,"userNotices":[],"path":"/postgres/postgres/commit/0b496bc9881fdcb3c20aeaa08bcdc196b8ec6946","fileTreeExpanded":true,"headerInfo":{"additions":52,"deletions":25,"filesChanged":4,"filesChangedString":"4"},"moreDiffsToLoad":false,"asyncDiffLoadInfo":{"startIndex":4,"truncated":false,"byteCount":6197,"lineShownCount":127},"commentInfo":{"canComment":false,"locked":false,"canLock":false,"repoArchived":false},"csrf_tokens":{"/users/diffview?diff=split":{"post":"bblwjKxk8Ali0ErvPB3CAnWpVpEo94_ghjo8I6WurLGbTQmtuYqg-jgsTqnq8LxGQ3ov0A1zV_hDn1pYouGjqg"},"/users/diffview?diff=unified":{"post":"g-8SGUlX2kCNpbJoAATOxr2PbKsMj43kVYbFj2Pn19t1G2s4XLmKs9dZti7W6bCCi1wV6ikLVfyQI6P0ZKjYwA"},"/notifications/thread":{"post":"ZEAccNoonhQg5Z8elp4sVEJgKJaI_gAdiB1_3EEAGuPwLeYGpw07iB3Pbm6iZ5xyuwokMRS0NO2dUNioYo8EMA"}}},"title":"Improve documentation of the CREATEROLE attibute. · postgres/postgres@0b496bc","appPayload":{"helpUrl":"https://docs.github.com","findInDiffWorkerPath":"/assets-cdn/worker/find-in-diff-worker-2bfe39677d14.js","enabled_features":{"diff_ux_refresh_beta":false,"diff_inline_comments":true,"diff_ux_refresh_ssr_five":false,"diff_ux_refresh_ssr_ten":false,"react_diff_line_type_character_correction":true}}}
In user-manag.sgml, document precisely what privileges are conveyed
by CREATEROLE. Make particular note of the fact that it allows
changing passwords and granting access to high-privilege roles.
Also remove the suggestion of using a user with CREATEROLE and
CREATEDB instead of a superuser, as there is no real security
advantage to this approach.
Elsewhere in the documentation, adjust text that suggests that
<literal>CREATEROLE</literal> only allows for role creation, and
refer to the documentation in user-manag.sgml as appropriate.
Patch by me, reviewed by Álvaro Herrera
Discussion: http://postgr.es/m/CA+TgmoZBsPL8nPhvYecx7iGo5qpDRqa9k_AcaW1SbOjugAY1Ag@mail.gmail.com
0 commit comments