Users and Databases
DDL - Users and Databases
HEAVY.AI has a default superuser named admin
with default password HyperInteractive
.
When you create or alter a user, you can grant superuser privileges by setting the is_super
property.
You can also specify a default database when you create or alter a user by using the default_db
property. During login, if a database is not specified, the server uses the default database assigned to that user. If no default database is assigned to the user and no database is specified during login, the heavyai
database is used.
When an administrator, superuser, or owner drops or renames a database, all current active sessions for users logged in to that database are invalidated. The users must log in again.
Similarly, when an administrator or superuser drops or renames a user, all active sessions for that user are immediately invalidated.
If a password includes characters that are nonalphanumeric, it must be enclosed in single quotes when logging in to heavysql. For example:
$HEAVYAI_PATH/bin/heavysql heavyai -u admin -p '77Heavy!9Ai'
For more information about users, roles, and privileges, see DDL - Roles and Privileges.
Nomenclature Constraints
The following are naming convention requirements for HEAVY.AI objects, described in regex notation:
A NAME is
[A-Za-z_][A-Za-z0-9\$_]*
A DASHEDNAME is
[A-Za-z_][A-Za-z0-9\$_\-]*
An EMAIL is
([^[:space:]\"]+|\".+\")@[A-Za-z0-9][A-Za-z0-9\-\.]*\.[A-Za-z]+
User objects can use NAME, DASHEDNAME, or EMAIL format.
Role objects must use either NAME or DASHEDNAME format.
Database and column objects must use NAME format.
CREATE USER
HEAVY.AI accepts (almost) any string enclosed in optional double quotation marks as the user name.
Examples:
DROP USER
Example:
ALTER USER
HEAVY.AI accepts (almost) any string enclosed in optional double quotation marks as the old or new user name.
Example:
CREATE DATABASE
Database names cannot include quotes, spaces, or special characters.
In Release 6.3.0 and later, database names are case insensitive. Duplicate database names will cause a failure when attempting to start HeavyDB 6.3.0 or higher. Check database names and revise as necessary to avoid duplicate names.
Example:
DROP DATABASE
Example:
ALTER DATABASE
To alter a database, you must be the owner of the database or an HeavyDB superuser.
Example:
ALTER DATABASE OWNER TO
Enable super users to change the owner of a database.
Example
Change the owner of my_database
to user Joe
:
Only superusers can run the ALTER DATABASE OWNER TO command.
REASSIGN OWNED
Changes ownership of database objects (tables, views, dashboards, etc.) from a user or set of users in the current database to a different user.
Example: Reassign database objects owned by jason
and mike
to joe
.
Database object ownership changes only for the currently connected database; objects in other databases are not affected. Ownership of the database itself is not affected. You must be a superuser to run this command.
Database Security Example
See Example: Data Security in DDL - Roles and Privileges for a database security example.
Last updated