CREATE USER
Description
Creates a user.
Precautions
- A user created using the CREATE USER statement has the LOGIN permission by default.
- When you run the CREATE USER command to create a user, the system creates a schema with the same name as the user in the database where the command is executed.
- The owner of an object created by a system administrator in a schema with the same name as a common user is the common user, not the system administrator.
Syntax
CREATE USER user_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ] { PASSWORD | IDENTIFIED BY } { 'password' [EXPIRED] | DISABLE };
The option clause is used to configure information, including permissions and properties.
{SYSADMIN | NOSYSADMIN}
| {MONADMIN | NOMONADMIN}
| {OPRADMIN | NOOPRADMIN}
| {POLADMIN | NOPOLADMIN}
| {AUDITADMIN | NOAUDITADMIN}
| {CREATEDB | NOCREATEDB}
| {USEFT | NOUSEFT}
| {CREATEROLE | NOCREATEROLE}
| {INHERIT | NOINHERIT}
| {LOGIN | NOLOGIN}
| {REPLICATION | NOREPLICATION}
| {VCADMIN | NOVCADMIN}
| {PERSISTENCE | NOPERSISTENCE}
| CONNECTION LIMIT connlimit
| VALID BEGIN 'timestamp'
| VALID UNTIL 'timestamp'
| USER GROUP 'groupuser'
| PERM SPACE 'spacelimit'
| TEMP SPACE 'tmpspacelimit'
| SPILL SPACE 'spillspacelimit'
| NODE GROUP logic_cluster_name
| IN ROLE role_name [, ...]
| IN GROUP role_name [, ...]
| ROLE role_name [, ...]
| ADMIN role_name [, ...]
| USER role_name [, ...]
| SYSID uid
| DEFAULT TABLESPACE tablespace_name
| PROFILE DEFAULT
| PROFILE profile_name
| PGUSER
Parameters
- user_name
Username.
Value range: a string that follows the Identifier Naming Conventions with a maximum of 63 characters.
- password
Specifies the login password.
The new password must:
- Contain at least eight characters. This is the default length.
- Differ from the username or the username spelled backward.
- Contain at least three of the following character types: uppercase characters, lowercase characters, digits, and special characters (limited to ~!@#$ %^&*()-_=+\|[{}];:,<.>/?).
- The password can also be a ciphertext character string that meets the format requirements. This mode is mainly used to import user data. You are advised not to use it directly. If a ciphertext password is used, you need to know the plaintext corresponding to the ciphertext password and ensure a complex plaintext password. The database does not verify the complexity of the ciphertext password, so you should ensure the password security.
- When creating a user, enclose the user password in single quotation marks.
Value range: a string.
For details about other parameter values of CREATE USER, see CREATE ROLE.
Examples
-- Create user jim whose login password is ********. openGauss=# CREATE USER jim PASSWORD '********'; -- Alternatively, you can run the following statement: openGauss=# CREATE USER kim IDENTIFIED BY '********'; -- To create a user with the CREATEDB permission, add the CREATEDB keyword. openGauss=# CREATE USER dim CREATEDB PASSWORD '********'; -- Change the login password of user jim from ******** to **********. openGauss=# ALTER USER jim IDENTIFIED BY '**********' REPLACE '********'; -- Add the CREATEROLE permission to jim. openGauss=# ALTER USER jim CREATEROLE; -- Set enable_seqscan to on. (The setting will take effect in the next session.) openGauss=# ALTER USER jim SET enable_seqscan TO on; -- Reset the enable_seqscan parameter for jim. openGauss=# ALTER USER jim RESET enable_seqscan; -- Lock jim. openGauss=# ALTER USER jim ACCOUNT LOCK; -- Drop users. openGauss=# DROP USER kim CASCADE; openGauss=# DROP USER jim CASCADE; openGauss=# DROP USER dim CASCADE;
Helpful Links
ALTER USER, CREATE ROLE, and DROP USER
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.