alter user and alter cmd do not have same functions
for alter user,there is a description:
ALTER USER is now an alias for ALTER ROLE.
so,people will think they are the same.but there are differences:
ALTER USER *name* SET *configuration_parameter* { TO | = } { *value* |
DEFAULT }
ALTER USER *name* SET *configuration_parameter* FROM CURRENT
ALTER USER *name* RESET *configuration_parameter*
ALTER USER *name* RESET ALL
and
ALTER ROLE *name* [ IN DATABASE *database_name* ] SET *
configuration_parameter* { TO | = } { *value* | DEFAULT } ALTER ROLE *name
* [ IN DATABASE *database_name* ] SET *configuration_parameter* FROM
CURRENT
ALTER ROLE *name* [ IN DATABASE *database_name* ] RESET *
configuration_parameter*
ALTER ROLE *name* [ IN DATABASE *database_name* ] RESET ALL
I think we should either metion the differences in doc or make the have no
differences. It took some time to find the later today because I most time
use alter user and think it equel to alter role.