Thread
Commits
-
doc: Remove deprecated clauses from CREATE USER/GROUP syntax synopsis.
- 1b795ef0329d 19 (unreleased) landed
-
doc: Move CREATE ROLE's IN GROUP and USER to deprecated
- 8e78f0a159bc 17.0 cited
-
Remove deprecated role membership options from psql help for CREATE USER/GROUP
Japin Li <japinli@hotmail.com> — 2026-01-06T10:16:02Z
Hi, When I review [1], I found commit 8e78f0a1 deprecated the IN GROUP and USER clauses in CREATE ROLE, and also removed IN GROUP and USER from the psql \h CREATE ROLE help output. However, the psql help for the legacy synonyms CREATE USER and CREATE GROUP still lists the deprecated options: - IN GROUP role_name [, ...] - USER role_name [, ...] postgres=# \h create role Command: CREATE ROLE Description: define a new database role Syntax: CREATE ROLE name [ [ WITH ] option [ ... ] ] where option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | SYSID uid URL: https://www.postgresql.org/docs/devel/sql-createrole.html postgres=# \h create user Command: CREATE USER Description: define a new database role Syntax: CREATE USER name [ [ WITH ] option [ ... ] ] where option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid URL: https://www.postgresql.org/docs/devel/sql-createuser.html postgres=# \h create group Command: CREATE GROUP Description: define a new database role Syntax: CREATE GROUP name [ [ WITH ] option [ ... ] ] where option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid URL: https://www.postgresql.org/docs/devel/sql-creategroup.html Since CREATE USER is documented as equivalent to CREATE ROLE WITH LOGIN, and CREATE GROUP is equivalent to CREATE ROLE, their help syntax should remain consistent with CREATE ROLE. I propose removing the deprecated IN GROUP and USER lines from the help text of both CREATE USER and CREATE GROUP. This would be a simple documentation cleanup that aligns the psql help with current reality and avoids confusing users with obsolete syntax. [1] https://www.postgresql.org/message-id/4c5f895e-3281-48f8-b943-9228b7da6471%40gmail.com -- Regards, Japin Li ChengDu WenWu Information Technology Co., Ltd. -
Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
Fujii Masao <masao.fujii@gmail.com> — 2026-01-06T14:27:30Z
On Tue, Jan 6, 2026 at 7:16 PM Japin Li <japinli@hotmail.com> wrote: > > > Hi, > > When I review [1], I found commit 8e78f0a1 deprecated the IN GROUP and USER > clauses in CREATE ROLE, and also removed IN GROUP and USER from the psql \h > CREATE ROLE help output. > > However, the psql help for the legacy synonyms CREATE USER and CREATE GROUP > still lists the deprecated options: > > - IN GROUP role_name [, ...] > - USER role_name [, ...] > > postgres=# \h create role > Command: CREATE ROLE > Description: define a new database role > Syntax: > CREATE ROLE name [ [ WITH ] option [ ... ] ] > > where option can be: > > SUPERUSER | NOSUPERUSER > | CREATEDB | NOCREATEDB > | CREATEROLE | NOCREATEROLE > | INHERIT | NOINHERIT > | LOGIN | NOLOGIN > | REPLICATION | NOREPLICATION > | BYPASSRLS | NOBYPASSRLS > | CONNECTION LIMIT connlimit > | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL > | VALID UNTIL 'timestamp' > | IN ROLE role_name [, ...] > | ROLE role_name [, ...] > | ADMIN role_name [, ...] > | SYSID uid > > URL: https://www.postgresql.org/docs/devel/sql-createrole.html > > postgres=# \h create user > Command: CREATE USER > Description: define a new database role > Syntax: > CREATE USER name [ [ WITH ] option [ ... ] ] > > where option can be: > > SUPERUSER | NOSUPERUSER > | CREATEDB | NOCREATEDB > | CREATEROLE | NOCREATEROLE > | INHERIT | NOINHERIT > | LOGIN | NOLOGIN > | REPLICATION | NOREPLICATION > | BYPASSRLS | NOBYPASSRLS > | CONNECTION LIMIT connlimit > | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL > | VALID UNTIL 'timestamp' > | IN ROLE role_name [, ...] > | IN GROUP role_name [, ...] > | ROLE role_name [, ...] > | ADMIN role_name [, ...] > | USER role_name [, ...] > | SYSID uid > > URL: https://www.postgresql.org/docs/devel/sql-createuser.html > > postgres=# \h create group > Command: CREATE GROUP > Description: define a new database role > Syntax: > CREATE GROUP name [ [ WITH ] option [ ... ] ] > > where option can be: > > SUPERUSER | NOSUPERUSER > | CREATEDB | NOCREATEDB > | CREATEROLE | NOCREATEROLE > | INHERIT | NOINHERIT > | LOGIN | NOLOGIN > | REPLICATION | NOREPLICATION > | BYPASSRLS | NOBYPASSRLS > | CONNECTION LIMIT connlimit > | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL > | VALID UNTIL 'timestamp' > | IN ROLE role_name [, ...] > | IN GROUP role_name [, ...] > | ROLE role_name [, ...] > | ADMIN role_name [, ...] > | USER role_name [, ...] > | SYSID uid > > URL: https://www.postgresql.org/docs/devel/sql-creategroup.html > > Since CREATE USER is documented as equivalent to CREATE ROLE WITH LOGIN, and > CREATE GROUP is equivalent to CREATE ROLE, their help syntax should remain > consistent with CREATE ROLE. > > I propose removing the deprecated IN GROUP and USER lines from the help text > of both CREATE USER and CREATE GROUP. This would be a simple documentation > cleanup that aligns the psql help with current reality and avoids confusing > users with obsolete syntax. +1 The patch looks good to me. Regards, -- Fujii Masao
-
Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
wenhui qiu <qiuwenhuifx@gmail.com> — 2026-01-06T14:33:23Z
+1,it need to be fix On Tue, 6 Jan 2026 at 22:27, Fujii Masao <masao.fujii@gmail.com> wrote: > On Tue, Jan 6, 2026 at 7:16 PM Japin Li <japinli@hotmail.com> wrote: > > > > > > Hi, > > > > When I review [1], I found commit 8e78f0a1 deprecated the IN GROUP and > USER > > clauses in CREATE ROLE, and also removed IN GROUP and USER from the psql > \h > > CREATE ROLE help output. > > > > However, the psql help for the legacy synonyms CREATE USER and CREATE > GROUP > > still lists the deprecated options: > > > > - IN GROUP role_name [, ...] > > - USER role_name [, ...] > > > > postgres=# \h create role > > Command: CREATE ROLE > > Description: define a new database role > > Syntax: > > CREATE ROLE name [ [ WITH ] option [ ... ] ] > > > > where option can be: > > > > SUPERUSER | NOSUPERUSER > > | CREATEDB | NOCREATEDB > > | CREATEROLE | NOCREATEROLE > > | INHERIT | NOINHERIT > > | LOGIN | NOLOGIN > > | REPLICATION | NOREPLICATION > > | BYPASSRLS | NOBYPASSRLS > > | CONNECTION LIMIT connlimit > > | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL > > | VALID UNTIL 'timestamp' > > | IN ROLE role_name [, ...] > > | ROLE role_name [, ...] > > | ADMIN role_name [, ...] > > | SYSID uid > > > > URL: https://www.postgresql.org/docs/devel/sql-createrole.html > > > > postgres=# \h create user > > Command: CREATE USER > > Description: define a new database role > > Syntax: > > CREATE USER name [ [ WITH ] option [ ... ] ] > > > > where option can be: > > > > SUPERUSER | NOSUPERUSER > > | CREATEDB | NOCREATEDB > > | CREATEROLE | NOCREATEROLE > > | INHERIT | NOINHERIT > > | LOGIN | NOLOGIN > > | REPLICATION | NOREPLICATION > > | BYPASSRLS | NOBYPASSRLS > > | CONNECTION LIMIT connlimit > > | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL > > | VALID UNTIL 'timestamp' > > | IN ROLE role_name [, ...] > > | IN GROUP role_name [, ...] > > | ROLE role_name [, ...] > > | ADMIN role_name [, ...] > > | USER role_name [, ...] > > | SYSID uid > > > > URL: https://www.postgresql.org/docs/devel/sql-createuser.html > > > > postgres=# \h create group > > Command: CREATE GROUP > > Description: define a new database role > > Syntax: > > CREATE GROUP name [ [ WITH ] option [ ... ] ] > > > > where option can be: > > > > SUPERUSER | NOSUPERUSER > > | CREATEDB | NOCREATEDB > > | CREATEROLE | NOCREATEROLE > > | INHERIT | NOINHERIT > > | LOGIN | NOLOGIN > > | REPLICATION | NOREPLICATION > > | BYPASSRLS | NOBYPASSRLS > > | CONNECTION LIMIT connlimit > > | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL > > | VALID UNTIL 'timestamp' > > | IN ROLE role_name [, ...] > > | IN GROUP role_name [, ...] > > | ROLE role_name [, ...] > > | ADMIN role_name [, ...] > > | USER role_name [, ...] > > | SYSID uid > > > > URL: https://www.postgresql.org/docs/devel/sql-creategroup.html > > > > Since CREATE USER is documented as equivalent to CREATE ROLE WITH LOGIN, > and > > CREATE GROUP is equivalent to CREATE ROLE, their help syntax should > remain > > consistent with CREATE ROLE. > > > > I propose removing the deprecated IN GROUP and USER lines from the help > text > > of both CREATE USER and CREATE GROUP. This would be a simple > documentation > > cleanup that aligns the psql help with current reality and avoids > confusing > > users with obsolete syntax. > > +1 > The patch looks good to me. > > Regards, > > -- > Fujii Masao > > >
-
Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
Chao Li <li.evan.chao@gmail.com> — 2026-01-07T09:30:16Z
> On Jan 6, 2026, at 18:16, Japin Li <japinli@hotmail.com> wrote: > > > Hi, > > When I review [1], I found commit 8e78f0a1 deprecated the IN GROUP and USER > clauses in CREATE ROLE, and also removed IN GROUP and USER from the psql \h > CREATE ROLE help output. > > However, the psql help for the legacy synonyms CREATE USER and CREATE GROUP > still lists the deprecated options: > > - IN GROUP role_name [, ...] > - USER role_name [, ...] > > postgres=# \h create role > Command: CREATE ROLE > Description: define a new database role > Syntax: > CREATE ROLE name [ [ WITH ] option [ ... ] ] > > where option can be: > > SUPERUSER | NOSUPERUSER > | CREATEDB | NOCREATEDB > | CREATEROLE | NOCREATEROLE > | INHERIT | NOINHERIT > | LOGIN | NOLOGIN > | REPLICATION | NOREPLICATION > | BYPASSRLS | NOBYPASSRLS > | CONNECTION LIMIT connlimit > | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL > | VALID UNTIL 'timestamp' > | IN ROLE role_name [, ...] > | ROLE role_name [, ...] > | ADMIN role_name [, ...] > | SYSID uid > > URL: https://www.postgresql.org/docs/devel/sql-createrole.html > > postgres=# \h create user > Command: CREATE USER > Description: define a new database role > Syntax: > CREATE USER name [ [ WITH ] option [ ... ] ] > > where option can be: > > SUPERUSER | NOSUPERUSER > | CREATEDB | NOCREATEDB > | CREATEROLE | NOCREATEROLE > | INHERIT | NOINHERIT > | LOGIN | NOLOGIN > | REPLICATION | NOREPLICATION > | BYPASSRLS | NOBYPASSRLS > | CONNECTION LIMIT connlimit > | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL > | VALID UNTIL 'timestamp' > | IN ROLE role_name [, ...] > | IN GROUP role_name [, ...] > | ROLE role_name [, ...] > | ADMIN role_name [, ...] > | USER role_name [, ...] > | SYSID uid > > URL: https://www.postgresql.org/docs/devel/sql-createuser.html > > postgres=# \h create group > Command: CREATE GROUP > Description: define a new database role > Syntax: > CREATE GROUP name [ [ WITH ] option [ ... ] ] > > where option can be: > > SUPERUSER | NOSUPERUSER > | CREATEDB | NOCREATEDB > | CREATEROLE | NOCREATEROLE > | INHERIT | NOINHERIT > | LOGIN | NOLOGIN > | REPLICATION | NOREPLICATION > | BYPASSRLS | NOBYPASSRLS > | CONNECTION LIMIT connlimit > | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL > | VALID UNTIL 'timestamp' > | IN ROLE role_name [, ...] > | IN GROUP role_name [, ...] > | ROLE role_name [, ...] > | ADMIN role_name [, ...] > | USER role_name [, ...] > | SYSID uid > > URL: https://www.postgresql.org/docs/devel/sql-creategroup.html > > Since CREATE USER is documented as equivalent to CREATE ROLE WITH LOGIN, and > CREATE GROUP is equivalent to CREATE ROLE, their help syntax should remain > consistent with CREATE ROLE. > > I propose removing the deprecated IN GROUP and USER lines from the help text > of both CREATE USER and CREATE GROUP. This would be a simple documentation > cleanup that aligns the psql help with current reality and avoids confusing > users with obsolete syntax. > > [1] https://www.postgresql.org/message-id/4c5f895e-3281-48f8-b943-9228b7da6471%40gmail.com > > -- > Regards, > Japin Li > ChengDu WenWu Information Technology Co., Ltd. > > <v1-0001-Remove-deprecated-role-options-for-CREATE-USER-GR.patch> ``` This commit removes the deprecated IN GROUP and USER lines from the psql help output for CREATE USER and CREATE GROUP. ``` The commit message claims to remove things from psql help output, but the change actually updated the SGML docs. Does the patch miss the change on psql? Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/
-
Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
Japin Li <japinli@hotmail.com> — 2026-01-07T10:52:05Z
On Wed, 07 Jan 2026 at 17:30, Chao Li <li.evan.chao@gmail.com> wrote: >> On Jan 6, 2026, at 18:16, Japin Li <japinli@hotmail.com> wrote: >> >> >> Hi, >> >> When I review [1], I found commit 8e78f0a1 deprecated the IN GROUP and USER >> clauses in CREATE ROLE, and also removed IN GROUP and USER from the psql \h >> CREATE ROLE help output. >> >> However, the psql help for the legacy synonyms CREATE USER and CREATE GROUP >> still lists the deprecated options: >> >> - IN GROUP role_name [, ...] >> - USER role_name [, ...] >> >> postgres=# \h create role >> Command: CREATE ROLE >> Description: define a new database role >> Syntax: >> CREATE ROLE name [ [ WITH ] option [ ... ] ] >> >> where option can be: >> >> SUPERUSER | NOSUPERUSER >> | CREATEDB | NOCREATEDB >> | CREATEROLE | NOCREATEROLE >> | INHERIT | NOINHERIT >> | LOGIN | NOLOGIN >> | REPLICATION | NOREPLICATION >> | BYPASSRLS | NOBYPASSRLS >> | CONNECTION LIMIT connlimit >> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >> | VALID UNTIL 'timestamp' >> | IN ROLE role_name [, ...] >> | ROLE role_name [, ...] >> | ADMIN role_name [, ...] >> | SYSID uid >> >> URL: https://www.postgresql.org/docs/devel/sql-createrole.html >> >> postgres=# \h create user >> Command: CREATE USER >> Description: define a new database role >> Syntax: >> CREATE USER name [ [ WITH ] option [ ... ] ] >> >> where option can be: >> >> SUPERUSER | NOSUPERUSER >> | CREATEDB | NOCREATEDB >> | CREATEROLE | NOCREATEROLE >> | INHERIT | NOINHERIT >> | LOGIN | NOLOGIN >> | REPLICATION | NOREPLICATION >> | BYPASSRLS | NOBYPASSRLS >> | CONNECTION LIMIT connlimit >> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >> | VALID UNTIL 'timestamp' >> | IN ROLE role_name [, ...] >> | IN GROUP role_name [, ...] >> | ROLE role_name [, ...] >> | ADMIN role_name [, ...] >> | USER role_name [, ...] >> | SYSID uid >> >> URL: https://www.postgresql.org/docs/devel/sql-createuser.html >> >> postgres=# \h create group >> Command: CREATE GROUP >> Description: define a new database role >> Syntax: >> CREATE GROUP name [ [ WITH ] option [ ... ] ] >> >> where option can be: >> >> SUPERUSER | NOSUPERUSER >> | CREATEDB | NOCREATEDB >> | CREATEROLE | NOCREATEROLE >> | INHERIT | NOINHERIT >> | LOGIN | NOLOGIN >> | REPLICATION | NOREPLICATION >> | BYPASSRLS | NOBYPASSRLS >> | CONNECTION LIMIT connlimit >> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >> | VALID UNTIL 'timestamp' >> | IN ROLE role_name [, ...] >> | IN GROUP role_name [, ...] >> | ROLE role_name [, ...] >> | ADMIN role_name [, ...] >> | USER role_name [, ...] >> | SYSID uid >> >> URL: https://www.postgresql.org/docs/devel/sql-creategroup.html >> >> Since CREATE USER is documented as equivalent to CREATE ROLE WITH LOGIN, and >> CREATE GROUP is equivalent to CREATE ROLE, their help syntax should remain >> consistent with CREATE ROLE. >> >> I propose removing the deprecated IN GROUP and USER lines from the help text >> of both CREATE USER and CREATE GROUP. This would be a simple documentation >> cleanup that aligns the psql help with current reality and avoids confusing >> users with obsolete syntax. >> >> [1] https://www.postgresql.org/message-id/4c5f895e-3281-48f8-b943-9228b7da6471%40gmail.com >> >> -- >> Regards, >> Japin Li >> ChengDu WenWu Information Technology Co., Ltd. >> >> <v1-0001-Remove-deprecated-role-options-for-CREATE-USER-GR.patch> > > > ``` > This commit removes the deprecated IN GROUP and USER lines from the psql > help output for CREATE USER and CREATE GROUP. > ``` > > The commit message claims to remove things from psql help output, but the change actually updated the SGML docs. Does the patch miss the change on psql? Hmm, psql's SQL help (\h) output is generated from SGML. See the generator scripts: src/bin/psql/create_*_help.pl. -- Regards, Japin Li ChengDu WenWu Information Technology Co., Ltd.
-
Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
Japin Li <japinli@hotmail.com> — 2026-01-07T11:06:21Z
On Wed, 07 Jan 2026 at 18:52, Japin Li <japinli@hotmail.com> wrote: > On Wed, 07 Jan 2026 at 17:30, Chao Li <li.evan.chao@gmail.com> wrote: >>> On Jan 6, 2026, at 18:16, Japin Li <japinli@hotmail.com> wrote: >>> >>> >>> Hi, >>> >>> When I review [1], I found commit 8e78f0a1 deprecated the IN GROUP and USER >>> clauses in CREATE ROLE, and also removed IN GROUP and USER from the psql \h >>> CREATE ROLE help output. >>> >>> However, the psql help for the legacy synonyms CREATE USER and CREATE GROUP >>> still lists the deprecated options: >>> >>> - IN GROUP role_name [, ...] >>> - USER role_name [, ...] >>> >>> postgres=# \h create role >>> Command: CREATE ROLE >>> Description: define a new database role >>> Syntax: >>> CREATE ROLE name [ [ WITH ] option [ ... ] ] >>> >>> where option can be: >>> >>> SUPERUSER | NOSUPERUSER >>> | CREATEDB | NOCREATEDB >>> | CREATEROLE | NOCREATEROLE >>> | INHERIT | NOINHERIT >>> | LOGIN | NOLOGIN >>> | REPLICATION | NOREPLICATION >>> | BYPASSRLS | NOBYPASSRLS >>> | CONNECTION LIMIT connlimit >>> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >>> | VALID UNTIL 'timestamp' >>> | IN ROLE role_name [, ...] >>> | ROLE role_name [, ...] >>> | ADMIN role_name [, ...] >>> | SYSID uid >>> >>> URL: https://www.postgresql.org/docs/devel/sql-createrole.html >>> >>> postgres=# \h create user >>> Command: CREATE USER >>> Description: define a new database role >>> Syntax: >>> CREATE USER name [ [ WITH ] option [ ... ] ] >>> >>> where option can be: >>> >>> SUPERUSER | NOSUPERUSER >>> | CREATEDB | NOCREATEDB >>> | CREATEROLE | NOCREATEROLE >>> | INHERIT | NOINHERIT >>> | LOGIN | NOLOGIN >>> | REPLICATION | NOREPLICATION >>> | BYPASSRLS | NOBYPASSRLS >>> | CONNECTION LIMIT connlimit >>> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >>> | VALID UNTIL 'timestamp' >>> | IN ROLE role_name [, ...] >>> | IN GROUP role_name [, ...] >>> | ROLE role_name [, ...] >>> | ADMIN role_name [, ...] >>> | USER role_name [, ...] >>> | SYSID uid >>> >>> URL: https://www.postgresql.org/docs/devel/sql-createuser.html >>> >>> postgres=# \h create group >>> Command: CREATE GROUP >>> Description: define a new database role >>> Syntax: >>> CREATE GROUP name [ [ WITH ] option [ ... ] ] >>> >>> where option can be: >>> >>> SUPERUSER | NOSUPERUSER >>> | CREATEDB | NOCREATEDB >>> | CREATEROLE | NOCREATEROLE >>> | INHERIT | NOINHERIT >>> | LOGIN | NOLOGIN >>> | REPLICATION | NOREPLICATION >>> | BYPASSRLS | NOBYPASSRLS >>> | CONNECTION LIMIT connlimit >>> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >>> | VALID UNTIL 'timestamp' >>> | IN ROLE role_name [, ...] >>> | IN GROUP role_name [, ...] >>> | ROLE role_name [, ...] >>> | ADMIN role_name [, ...] >>> | USER role_name [, ...] >>> | SYSID uid >>> >>> URL: https://www.postgresql.org/docs/devel/sql-creategroup.html >>> >>> Since CREATE USER is documented as equivalent to CREATE ROLE WITH LOGIN, and >>> CREATE GROUP is equivalent to CREATE ROLE, their help syntax should remain >>> consistent with CREATE ROLE. >>> >>> I propose removing the deprecated IN GROUP and USER lines from the help text >>> of both CREATE USER and CREATE GROUP. This would be a simple documentation >>> cleanup that aligns the psql help with current reality and avoids confusing >>> users with obsolete syntax. >>> >>> [1] https://www.postgresql.org/message-id/4c5f895e-3281-48f8-b943-9228b7da6471%40gmail.com >>> >>> -- >>> Regards, >>> Japin Li >>> ChengDu WenWu Information Technology Co., Ltd. >>> >>> <v1-0001-Remove-deprecated-role-options-for-CREATE-USER-GR.patch> >> >> >> ``` >> This commit removes the deprecated IN GROUP and USER lines from the psql >> help output for CREATE USER and CREATE GROUP. >> ``` >> >> The commit message claims to remove things from psql help output, but the change actually updated the SGML docs. Does the patch miss the change on psql? > > Hmm, psql's SQL help (\h) output is generated from SGML. See the generator > scripts: src/bin/psql/create_*_help.pl. > Sorry, I made a typo, the script is src/bin/psql/create_help.pl. -- Regards, Japin Li ChengDu WenWu Information Technology Co., Ltd.
-
Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
Chao Li <li.evan.chao@gmail.com> — 2026-01-07T11:21:13Z
> On Jan 7, 2026, at 19:06, Japin Li <japinli@hotmail.com> wrote: > > On Wed, 07 Jan 2026 at 18:52, Japin Li <japinli@hotmail.com> wrote: >> On Wed, 07 Jan 2026 at 17:30, Chao Li <li.evan.chao@gmail.com> wrote: >>>> On Jan 6, 2026, at 18:16, Japin Li <japinli@hotmail.com> wrote: >>>> >>>> >>>> Hi, >>>> >>>> When I review [1], I found commit 8e78f0a1 deprecated the IN GROUP and USER >>>> clauses in CREATE ROLE, and also removed IN GROUP and USER from the psql \h >>>> CREATE ROLE help output. >>>> >>>> However, the psql help for the legacy synonyms CREATE USER and CREATE GROUP >>>> still lists the deprecated options: >>>> >>>> - IN GROUP role_name [, ...] >>>> - USER role_name [, ...] >>>> >>>> postgres=# \h create role >>>> Command: CREATE ROLE >>>> Description: define a new database role >>>> Syntax: >>>> CREATE ROLE name [ [ WITH ] option [ ... ] ] >>>> >>>> where option can be: >>>> >>>> SUPERUSER | NOSUPERUSER >>>> | CREATEDB | NOCREATEDB >>>> | CREATEROLE | NOCREATEROLE >>>> | INHERIT | NOINHERIT >>>> | LOGIN | NOLOGIN >>>> | REPLICATION | NOREPLICATION >>>> | BYPASSRLS | NOBYPASSRLS >>>> | CONNECTION LIMIT connlimit >>>> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >>>> | VALID UNTIL 'timestamp' >>>> | IN ROLE role_name [, ...] >>>> | ROLE role_name [, ...] >>>> | ADMIN role_name [, ...] >>>> | SYSID uid >>>> >>>> URL: https://www.postgresql.org/docs/devel/sql-createrole.html >>>> >>>> postgres=# \h create user >>>> Command: CREATE USER >>>> Description: define a new database role >>>> Syntax: >>>> CREATE USER name [ [ WITH ] option [ ... ] ] >>>> >>>> where option can be: >>>> >>>> SUPERUSER | NOSUPERUSER >>>> | CREATEDB | NOCREATEDB >>>> | CREATEROLE | NOCREATEROLE >>>> | INHERIT | NOINHERIT >>>> | LOGIN | NOLOGIN >>>> | REPLICATION | NOREPLICATION >>>> | BYPASSRLS | NOBYPASSRLS >>>> | CONNECTION LIMIT connlimit >>>> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >>>> | VALID UNTIL 'timestamp' >>>> | IN ROLE role_name [, ...] >>>> | IN GROUP role_name [, ...] >>>> | ROLE role_name [, ...] >>>> | ADMIN role_name [, ...] >>>> | USER role_name [, ...] >>>> | SYSID uid >>>> >>>> URL: https://www.postgresql.org/docs/devel/sql-createuser.html >>>> >>>> postgres=# \h create group >>>> Command: CREATE GROUP >>>> Description: define a new database role >>>> Syntax: >>>> CREATE GROUP name [ [ WITH ] option [ ... ] ] >>>> >>>> where option can be: >>>> >>>> SUPERUSER | NOSUPERUSER >>>> | CREATEDB | NOCREATEDB >>>> | CREATEROLE | NOCREATEROLE >>>> | INHERIT | NOINHERIT >>>> | LOGIN | NOLOGIN >>>> | REPLICATION | NOREPLICATION >>>> | BYPASSRLS | NOBYPASSRLS >>>> | CONNECTION LIMIT connlimit >>>> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >>>> | VALID UNTIL 'timestamp' >>>> | IN ROLE role_name [, ...] >>>> | IN GROUP role_name [, ...] >>>> | ROLE role_name [, ...] >>>> | ADMIN role_name [, ...] >>>> | USER role_name [, ...] >>>> | SYSID uid >>>> >>>> URL: https://www.postgresql.org/docs/devel/sql-creategroup.html >>>> >>>> Since CREATE USER is documented as equivalent to CREATE ROLE WITH LOGIN, and >>>> CREATE GROUP is equivalent to CREATE ROLE, their help syntax should remain >>>> consistent with CREATE ROLE. >>>> >>>> I propose removing the deprecated IN GROUP and USER lines from the help text >>>> of both CREATE USER and CREATE GROUP. This would be a simple documentation >>>> cleanup that aligns the psql help with current reality and avoids confusing >>>> users with obsolete syntax. >>>> >>>> [1] https://www.postgresql.org/message-id/4c5f895e-3281-48f8-b943-9228b7da6471%40gmail.com >>>> >>>> -- >>>> Regards, >>>> Japin Li >>>> ChengDu WenWu Information Technology Co., Ltd. >>>> >>>> <v1-0001-Remove-deprecated-role-options-for-CREATE-USER-GR.patch> >>> >>> >>> ``` >>> This commit removes the deprecated IN GROUP and USER lines from the psql >>> help output for CREATE USER and CREATE GROUP. >>> ``` >>> >>> The commit message claims to remove things from psql help output, but the change actually updated the SGML docs. Does the patch miss the change on psql? >> >> Hmm, psql's SQL help (\h) output is generated from SGML. See the generator >> scripts: src/bin/psql/create_*_help.pl. >> > > Sorry, I made a typo, the script is src/bin/psql/create_help.pl. > > -- > Regards, > Japin Li > ChengDu WenWu Information Technology Co., Ltd. Good to know. I wasn’t aware of that. Maybe it deserves to mention that in the commit message. Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/
-
Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
Fujii Masao <masao.fujii@gmail.com> — 2026-01-07T16:14:19Z
On Tue, Jan 6, 2026 at 11:27 PM Fujii Masao <masao.fujii@gmail.com> wrote: > > I propose removing the deprecated IN GROUP and USER lines from the help text > > of both CREATE USER and CREATE GROUP. This would be a simple documentation > > cleanup that aligns the psql help with current reality and avoids confusing > > users with obsolete syntax. > > +1 > The patch looks good to me. I've pushed the patch. Thanks! Regards, -- Fujii Masao
-
Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
Chao Li <li.evan.chao@gmail.com> — 2026-01-07T22:45:01Z
> On Jan 7, 2026, at 19:06, Japin Li <japinli@hotmail.com> wrote: > > On Wed, 07 Jan 2026 at 18:52, Japin Li <japinli@hotmail.com> wrote: >> On Wed, 07 Jan 2026 at 17:30, Chao Li <li.evan.chao@gmail.com> wrote: >>>> On Jan 6, 2026, at 18:16, Japin Li <japinli@hotmail.com> wrote: >>>> >>>> >>>> Hi, >>>> >>>> When I review [1], I found commit 8e78f0a1 deprecated the IN GROUP and USER >>>> clauses in CREATE ROLE, and also removed IN GROUP and USER from the psql \h >>>> CREATE ROLE help output. >>>> >>>> However, the psql help for the legacy synonyms CREATE USER and CREATE GROUP >>>> still lists the deprecated options: >>>> >>>> - IN GROUP role_name [, ...] >>>> - USER role_name [, ...] >>>> >>>> postgres=# \h create role >>>> Command: CREATE ROLE >>>> Description: define a new database role >>>> Syntax: >>>> CREATE ROLE name [ [ WITH ] option [ ... ] ] >>>> >>>> where option can be: >>>> >>>> SUPERUSER | NOSUPERUSER >>>> | CREATEDB | NOCREATEDB >>>> | CREATEROLE | NOCREATEROLE >>>> | INHERIT | NOINHERIT >>>> | LOGIN | NOLOGIN >>>> | REPLICATION | NOREPLICATION >>>> | BYPASSRLS | NOBYPASSRLS >>>> | CONNECTION LIMIT connlimit >>>> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >>>> | VALID UNTIL 'timestamp' >>>> | IN ROLE role_name [, ...] >>>> | ROLE role_name [, ...] >>>> | ADMIN role_name [, ...] >>>> | SYSID uid >>>> >>>> URL: https://www.postgresql.org/docs/devel/sql-createrole.html >>>> >>>> postgres=# \h create user >>>> Command: CREATE USER >>>> Description: define a new database role >>>> Syntax: >>>> CREATE USER name [ [ WITH ] option [ ... ] ] >>>> >>>> where option can be: >>>> >>>> SUPERUSER | NOSUPERUSER >>>> | CREATEDB | NOCREATEDB >>>> | CREATEROLE | NOCREATEROLE >>>> | INHERIT | NOINHERIT >>>> | LOGIN | NOLOGIN >>>> | REPLICATION | NOREPLICATION >>>> | BYPASSRLS | NOBYPASSRLS >>>> | CONNECTION LIMIT connlimit >>>> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >>>> | VALID UNTIL 'timestamp' >>>> | IN ROLE role_name [, ...] >>>> | IN GROUP role_name [, ...] >>>> | ROLE role_name [, ...] >>>> | ADMIN role_name [, ...] >>>> | USER role_name [, ...] >>>> | SYSID uid >>>> >>>> URL: https://www.postgresql.org/docs/devel/sql-createuser.html >>>> >>>> postgres=# \h create group >>>> Command: CREATE GROUP >>>> Description: define a new database role >>>> Syntax: >>>> CREATE GROUP name [ [ WITH ] option [ ... ] ] >>>> >>>> where option can be: >>>> >>>> SUPERUSER | NOSUPERUSER >>>> | CREATEDB | NOCREATEDB >>>> | CREATEROLE | NOCREATEROLE >>>> | INHERIT | NOINHERIT >>>> | LOGIN | NOLOGIN >>>> | REPLICATION | NOREPLICATION >>>> | BYPASSRLS | NOBYPASSRLS >>>> | CONNECTION LIMIT connlimit >>>> | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL >>>> | VALID UNTIL 'timestamp' >>>> | IN ROLE role_name [, ...] >>>> | IN GROUP role_name [, ...] >>>> | ROLE role_name [, ...] >>>> | ADMIN role_name [, ...] >>>> | USER role_name [, ...] >>>> | SYSID uid >>>> >>>> URL: https://www.postgresql.org/docs/devel/sql-creategroup.html >>>> >>>> Since CREATE USER is documented as equivalent to CREATE ROLE WITH LOGIN, and >>>> CREATE GROUP is equivalent to CREATE ROLE, their help syntax should remain >>>> consistent with CREATE ROLE. >>>> >>>> I propose removing the deprecated IN GROUP and USER lines from the help text >>>> of both CREATE USER and CREATE GROUP. This would be a simple documentation >>>> cleanup that aligns the psql help with current reality and avoids confusing >>>> users with obsolete syntax. >>>> >>>> [1] https://www.postgresql.org/message-id/4c5f895e-3281-48f8-b943-9228b7da6471%40gmail.com >>>> >>>> -- >>>> Regards, >>>> Japin Li >>>> ChengDu WenWu Information Technology Co., Ltd. >>>> >>>> <v1-0001-Remove-deprecated-role-options-for-CREATE-USER-GR.patch> >>> >>> >>> ``` >>> This commit removes the deprecated IN GROUP and USER lines from the psql >>> help output for CREATE USER and CREATE GROUP. >>> ``` >>> >>> The commit message claims to remove things from psql help output, but the change actually updated the SGML docs. Does the patch miss the change on psql? >> >> Hmm, psql's SQL help (\h) output is generated from SGML. See the generator >> scripts: src/bin/psql/create_*_help.pl. >> > > Sorry, I made a typo, the script is src/bin/psql/create_help.pl. > > -- > Regards, > Japin Li > ChengDu WenWu Information Technology Co., Ltd. Good to know. I wasn’t aware of that. Maybe it deserves to mention that in the commit message. Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/
-
Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
Japin Li <japinli@hotmail.com> — 2026-01-08T01:34:13Z
On Thu, 08 Jan 2026 at 01:14, Fujii Masao <masao.fujii@gmail.com> wrote: > On Tue, Jan 6, 2026 at 11:27 PM Fujii Masao <masao.fujii@gmail.com> wrote: >> > I propose removing the deprecated IN GROUP and USER lines from the help text >> > of both CREATE USER and CREATE GROUP. This would be a simple documentation >> > cleanup that aligns the psql help with current reality and avoids confusing >> > users with obsolete syntax. >> >> +1 >> The patch looks good to me. > > I've pushed the patch. Thanks! > > Regards, > Thanks! -- Regards, Japin Li ChengDu WenWu Information Technology Co., Ltd.