Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

ALTER USER

更改数据库用户账户。如果您是当前用户,则可更改自己的密码。对于所有其他选项,您必须是数据库用户才能执行此命令。

语法

Copy
ALTER USER username [ WITH ] option [, ... ] where option is CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | PASSWORD { 'password' | 'md5hash' } [ VALID UNTIL 'expiration_date' ] | RENAME TO new_name | | CONNECTION LIMIT { limit | UNLIMITED } | SET parameter { TO | = } { value | DEFAULT } | RESET parameter

参数

username

用户账户的名称。

WITH

可选关键字。

CREATEDB | NOCREATEDB

CREATEDB 选项允许用户创建新数据库。NOCREATEDB 是默认值。

CREATEUSER | NOCREATEUSER

使用 CREATEUSER 选项可以创建具备所有数据库权限的超级用户,包括 CREATE USER。默认值为 NOCREATEUSER。有关更多信息,请参阅 superuser

PASSWORD { 'password' | 'md5hash' }

设置用户的密码。

您可采用明文或 MD5 哈希字符串的形式指定密码。

对于明文,密码必须遵循以下约束:

  • 它的长度必须介于 8 到 64 个字符之间。

  • 它必须包含至少一个大写字母、一个小写字母和一个数字。

  • 它可以使用任何可打印的 ASCII 字符(ASCII 代码 33 到 126),但 '(单引号)、"(双引号)、\、/、@ 或空格除外。

作为以明文形式传递 CREATE USER 密码参数的更安全的替代方法,您可以指定包含密码和用户名的 MD5 哈希。

注意

当您指定 MD5 哈希字符串时,ALTER USER 命令将检查是否存在有效的 MD5 哈希字符串,但它不会验证字符串的密码部分。在这种情况下,可以创建无法用于登录数据库的密码(如空字符串)。

要指定 MD5 密码,请执行以下步骤:

  1. 联接密码和用户名。

    例如,对于密码 ez 和用户 user1,联接后的字符串为 ezuser1

  2. 将联接后的字符串转换为 32 字符 MD5 哈希字符串。您可以使用任何 MD5 实用工具创建哈希字符串。以下示例使用 Amazon Redshift MD5 函数和联接运算符 (||) 返回 32 字符 MD5 哈希字符串。

    Copy
    select md5('ez' || 'user1'); md5 -------------------------------- 153c434b4b77c89e6b94f12c5393af5b
  3. 在 MD5 哈希字符串前面联接“md5”并提供联接后的字符串作为 md5hash 参数。

    Copy
    create user user1 password 'md5153c434b4b77c89e6b94f12c5393af5b';
  4. 使用用户名和密码登录数据库。

    对于此示例,请使用密码 ezuser1 的身份登录。

VALID UNTIL 'expiration_date'

指定密码具有过期日期。使用值 'infinity' 可避免密码具有过期日期。此参数的有效数据类型为时间戳。

RENAME TO

重命名用户账户。

new_name

用户的新名称。有关有效名称的更多信息,请参阅名称和标识符

重要

在重命名用户时,您还必须更改用户的密码。用户名用作密码加密的一部分,因此在重命名用户时,将会清除密码。用户将无法登录,直至重置密码。例如:

Copy
alter user newuser password 'EXAMPLENewPassword11';
CONNECTION LIMIT { limit | UNLIMITED }

允许用户同时打开的数据库连接的最大数量。此限制不适用于超级用户。使用 UNLIMITED 关键字设置允许的并行连接的最大数量。每集群的并行连接限制为 500。对每个数据库的连接数量可能也会施加限制。有关更多信息,请参阅 CREATE DATABASE。默认为 UNLIMITED。要查看当前连接,请查询 STV_SESSIONS 系统视图。

注意

如果用户及数据库连接限制均适用,当用户尝试连接时,必须有一个同时低于这两个限制的未使用的连接槽可用。

SET

针对指定用户运行的所有会话,将某个配置参数设置为新的默认值。

RESET

为指定用户将某个配置参数重置为原始默认值。

parameter

要设置或重置的参数的名称。

value

参数的新值。

DEFAULT

针对指定用户运行的所有会话,将配置参数设置为默认值。

使用说明

当您使用 ALTER USER 命令设置 search_path 参数时,所做修改将在指定的用户下次登录时生效。如果您希望更改当前用户和会话的 search_path,请使用 SET 命令。

示例

以下示例为用户 ADMIN 授予创建数据库的权限:

Copy
alter user admin createdb;

以下示例将用户 ADMIN 的密码设置为 adminPass9,并为密码设置一个到期日期和时间:

Copy
alter user admin password 'adminPass9' valid until '2017-12-31 23:59';

以下示例将用户 ADMIN 重命名为 SYSADMIN:

Copy
alter user admin rename to sysadmin;

本页内容: