ChatGPT解决这个技术问题 Extra ChatGPT

How to list all the available keyspaces in Cassandra?

I am newbie in Cassandra and trying to implement one toy application using Cassandra. I had created one keyspace and few column families in my Cassandra DB but I forgot the name of my cluster.

I am trying to find if there is any query which can list down all the available keyspaces.

Anybody knows such a query or command?

C* 3.x : SELECT * FROM system_schema.keyspaces;
This answer is outdated. Correct answer is in here enter link description here

m
mirekphd

[cqlsh 4.1.0 | Cassandra 2.0.4 | CQL spec 3.1.1 | Thrift protocol 19.39.0]

Currently, the command to use is:

DESC[RIBE] keyspaces;

Accept this as answer! And by the way, the output would print multiple keyspace names in one line.
Cassandra also allow a short-hand command as in: DESC keyspaces
T
Theo

If you want to do this outside of the cqlsh tool you can query the schema_keyspaces table in the system keyspace. There's also a table called schema_columnfamilies which contains information about all tables.

The DESCRIBE and SHOW commands only work in cqlsh and cassandra-cli.


Too much detail sometimes takes away simplicity, Marco answer is on point.
show keyspaces in sqlsh in Cassandra 4.0 it raises an error ("Improper show command.") I used describe keyspaces instead.
R
Ronnie Oosting

Its very simple. Just give the below command for listing all keyspaces.

Cqlsh> Describe keyspaces;

If you want to check the keyspace in the system schema using the SQL query

below is the command.

SELECT * FROM system_schema.keyspaces;

Hope this will answer your question...

You can go through the explanation on understanding and creating the keyspaces from below resources.

Documentation:

https://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_keyspace_r.html https://www.i2tutorials.com/cassandra-tutorial/cassandra-create-keyspace/


DESCRIBE does not work on latest cqlsh. This works
S
Shekhar

Found it...show keyspaces command lists down all the keyspaces. I think earlier when I tried this command, I forgot to give last 's' in 'keyspaces'


You can use tab completion to see hints about how to complete a cassandra-cli or cqlsh command. That may be helpful to you if you forget the syntax. For example, just type "show " and then tab to see the valid show commands.
The secondary point in your answer is going to be (for some people) the most valuable part of the answer. Things work a lot differently between "cqlsh" and "cassandra-cli" (and the question poster does not indicate which he is using). show keyspaces; describe (keyspace name). NOTE: If one is using "cqlsh", it requires quotes around any mixed or upper case names in a keyspace or columnfamily (OK, the poster didn't ask this but it's a common user error if new to C*)
In sqlsh in Cassandra 4.0 it raises an error ("Improper show command.") I used describe keyspaces instead.
ס
סטנלי גרונן

To see all the keyspaces on your Apache Cassandra NoSQL Database Server use the command:

> DESCRIBE KEYSPACES 

This should be the accepted answer. Short and directly to the point.
A
Alex Ott

Once logged in to cqlsh or cassandra-cli. run below commands

On cqlsh

desc keyspaces;

or

describe keyspaces;

or

select * from system_schema.keyspaces;

On cassandra-cli

show keyspaces;


f
factotum

The DESCRIBE command is your friend. You can describe one keyspace, list keyspaces, one table or list all tables in keyspace, the cluster and much more. You can get the full idea by typing

HELP DESCRIBE in cqlsh.

Connected to mscluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.8 | CQL spec 3.4.2 | Native protocol v4] Use HELP for help. cqlsh> HELP DESCRIBE DESCRIBE [cqlsh only] (DESC may be used as a shorthand.) Outputs information about the connected Cassandra cluster, or about the data objects stored in the cluster. Use in one of the following ways:...

DESCRIBE - describes the command used to create keyspace

cqlsh> DESCRIBE testkeyspace; CREATE KEYSPACE testkeyspace WITH replication = {'class':'SimpleStrategy', 'replication_factor': '3'} AND durable_writes = true;

DESCRIBE keyspaces - lists all keyspaces

cqlsh> DESCRIBE KEYSPACES system_schema system testkeyspace system_auth system_distributed system_traces

DESCRIBE TABLES - List all tables in current keyspace

cqlsh:system> DESCRIBE TABLES; available_ranges peers paxos range_xfers batches compaction_history batchlog local "IndexInfo" sstable_activity size_estimates hints views_builds_in_progress peer_events built_views

DESCRIBE your table name or DESCRIBE TABLE your table name - Gives the table details

cqlsh:system> DESCRIBE TABLE batchlog

CREATE TABLE system.batchlog ( id uuid PRIMARY KEY, data blob, version int, written_at timestamp ) WITH bloom_filter_fp_chance = 0.01 AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'} AND comment = 'DEPRECATED batchlog entries' ....omitted for brevity


D
DataJanitor

DESC KEYSPACES will do the job.

Also, If you want to describe schema of a particular keyspace you can use

DESC


S
Saptak P

To List all the available keyspaces in cassandra using cqlsh in CLI mode.

Command : DESCRIBE keyspaces;

Example :

cqlsh> DESCRIBE keyspaces;

https://i.stack.imgur.com/b5O7O.png


S
Suparna Raut

login to cqlsh use below command to get names/list of keyspaces present SELECT keyspace_name FROM system_schema.keyspaces;


it depends on the version of Cassandra... Also, how this answer is different from previous?
J
Jay Tokala

login to cqlsh desc keyspaces; select * from system_schema.keyspaces ;


C
Chakri Stark

desc keyspaces will do it for you.


P
Puneet
R
René Vogt

I suggest a combination of grep and awk:

root@DC1-Node1:/home# nodetool tablestats | grep "Keyspace :" | awk -F ":" '{print $2}'
 system_traces
 system
 system_distributed
 system_schema
 device_tool
 system_tool

thank you for the answer but simplest way to see keyspaces is to use "DESCRIBE keyspace" command. No need to grep and awk.
d
daljeet singh

Apart from above method, if you have opscenter installed,

Go to data tab > there you will see all keyspcaces created by you and some system keyspaces. You can see all tables under individual keyspaces and also replicator factor for keyspace.

for more details check below link. https://docs.datastax.com/en/opscenter/6.1/opsc/online_help/opscDataModelingManagingKeyspace_t.html


S
Srikant Patra

describes and desc command will give list of keyspaces in the cluster.Please find below output for more details.

cqlsh> describe keyspaces
reaper_db      system_auth  system_distributed
system_schema  system       system_traces

OR

cqlsh> desc keyspaces
reaper_db      system_auth  system_distributed
system_schema  system       system_traces

how is your answer is different from other answers? Also - these commands are only working in cqlsh, not everywhere...
cassandra@node1:~$ nodetool tablestats | grep "Keyspace :" Keyspace : reaper_db Keyspace : system_traces Keyspace : system Keyspace : system_distributed Keyspace : system_schema Keyspace : system_auth cassandra@node1:~$
There are at least 4 answers that list the same commands for cqlsh

关注公众号,不定期副业成功案例分享
Follow WeChat

Success story sharing

Want to stay one step ahead of the latest teleworks?

Subscribe Now