ALTER KEYSPACE
Synopsis
Use the ALTER KEYSPACE
statement to change the properties of an existing keyspace.
This statement is supported for compatibility reasons only, and has no effect internally (no-op statement).
The statement can fail if the specified keyspace does not exist or if the user (role) has no permissions for the keyspace ALTER operation.
Syntax
Diagram
alter_keyspace
keyspace_properties
Grammar
alter_keyspace ::= ALTER { KEYSPACE | SCHEMA } keyspace_name
[ WITH REPLICATION '=' '{' keyspace_property '}']
[ AND DURABLE_WRITES '=' { true | false } ]
keyspace_property ::= property_name = property_value
Where
keyspace_name
andproperty_name
are identifiers.property_value
is a literal of either boolean, text, or map data type.
Semantics
- An error is raised if the specified
keyspace_name
does not exist. - An error is raised if the user (used role) has no ALTER permission for this specified keyspace and no ALTER permission for ALL KEYSPACES.
- YCQL keyspace properties are supported in the syntax but have no effect internally (where YugabyteDB defaults are used instead).
Examples
ycqlsh> ALTER KEYSPACE example;
ycqlsh> ALTER KEYSPACE example WITH DURABLE_WRITES = true;
ycqlsh> ALTER KEYSPACE example WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': '3'} AND DURABLE_WRITES = true;
ycqlsh> ALTER SCHEMA keyspace_example;
SQL error: Keyspace Not Found.
ALTER SCHEMA keyspace_example;
^^^^^^
ycqlsh> ALTER KEYSPACE example;
SQL error: Unauthorized. User test_role has no ALTER permission on <keyspace example> or any of its parents.
ALTER KEYSPACE example;
^^^^^^