Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: Japin Li <japinli@hotmail.com>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-01-07T09:30:16Z
Lists: pgsql-hackers
> 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/
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