Creating Namespaces
You can add and one or more namespaces to your store. Then, create tables within the namespaces, and grant various permissions to users to access namespaces and tables. For the security administrator, several new permissions are available for namespaces, described in Granting Authorization Access to Namespaces.
You create a new namespace by using a CREATE NAMESPACE
DDL statement, as follows, with whatever name you choose.
sql-> CREATE NAMESPACE [IF NOT EXISTS] namespace_name;
All namespace names use standard identifiers, with the same restrictions as tables and indexes: -
Names must begin with an alphabetic character (a-z, A-Z).
-
Remaining characters are alphanumeric (a-z, A-Z, 0–9).
-
Name characters can include period (.), and underscore (_) characters.
-
The maximum name length for a namespace is 128 characters.
Note:
You cannot use the prefixsys
for any namespaces. The sys
prefix is reserved. No other keywords are restricted.
Following is the namespace syntax showing the identifier rules similar to a table name:
table_name : (namespace ':' )? id_path;
-namespace : id_path ;
id_path : id (DOT id)* ;
id : (... | ID );
ID : ALPHA (ALPHA | DIGIT | UNDER)* ;
Here are a couple of examples using DDL statements in the SQL CLI. The SHOW NAMESPACES
directive in the SQL CLI lists the namespaces that currently exist:sql-> CREATE NAMESPACE ns1;
Statement completed successfully
sql-> CREATE NAMESPACE IF NOT EXISTS ns2;
Statement completed successfully
sql-> SHOW NAMESPACES
namespaces
ns1
sysdefault
ns2