Thread

Commits

  1. doc: Remove deprecated clauses from CREATE USER/GROUP syntax synopsis.

  2. doc: Move CREATE ROLE's IN GROUP and USER to deprecated

  1. 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.
    
    
  2. 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
    
    
    
    
  3. 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
    >
    >
    >
    
  4. 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/
    
    
    
    
    
    
    
    
  5. 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.
    
    
    
    
  6. 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.
    
    
    
    
  7. 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/
    
    
    
    
    
    
    
    
  8. 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
    
    
    
    
  9. 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/
    
    
    
    
    
    
    
    
  10. 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.