Remove deprecated role membership options from psql help for CREATE USER/GROUP - Mailing list pgsql-hackers

From Japin Li
Subject Remove deprecated role membership options from psql help for CREATE USER/GROUP
Date
Msg-id MEAPR01MB3031C30E72EF16CFC08C8565B687A@MEAPR01MB3031.ausprd01.prod.outlook.com
Whole thread Raw
Responses Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
Re: Remove deprecated role membership options from psql help for CREATE USER/GROUP
List pgsql-hackers
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.


Attachment

pgsql-hackers by date:

Previous
From: Andrey Borodin
Date:
Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)
Next
From: Michael Banck
Date:
Subject: Re: [PATCH] Expose checkpoint reason to completion log messages.