Skip to content
immudb docker run -d --net host -it --name immudb codenotary/immudb:latest

Catalog

immudb provides a set of useful built-in functions that can be used to query the catalog.

Listing databases#

The DATABASES() function can be used as a source of data returning the list of databases that can be accessed by the user running the query.

1SELECT * FROM DATABASES();

This source can also be constrained using the WHERE clause and the set of columns to retrieve.

1SELECT name FROM DATABASES() WHERE name LIKE '.*db1.*';

Alternatively, the SHOW DATABASES statement returns the list of databases that can be accessed by the current user.

Listing tables#

The TABLES() function can be used as a source of data returning the list of tables in the currently selected database.

1SELECT * FROM TABLES();

This source can also be constrained using the WHERE clause and the set of columns to retrieve.

1SELECT name FROM TABLES()
2WHERE name like '.*est.*'

Alternatively, the SHOW TABLES statement returns the list of tables in the currently selected database.

Listing columns of a table#

The COLUMNS() function returns the list of columns for a table. It takes a single argument which is the name of the table. The table will be looked up in the currently selected database.

1SELECT * FROM COLUMNS('mytable');

This source can also be constrained with the WHERE clause and set of columns to retrieve.

Note: because colum names can use reserved identifiers such as table, make sure to enclose those in double-quotes.

1SELECT "table", "name", "type" FROM COLUMNS('mytable');
2SELECT name FROM COLUMNS('mytable') WHERE type = 'VARCHAR';

Alternatively, the SHOW TABLE mytable statement will returns the list of columns for the specified table.

Listing indexes of a table#

The INDEXES() function returns a list of indexes for a table. It takes a single argument which is the name of the table. The table will be looked up in the currently selected database.

1SELECT * FROM INDEXES('mytable');

This source can also be constrained with the WHERE clause and set of columns to retrieve.

Note: because colum names can use reserved identifiers such as table, make sure to enclose those in double-quotes.

1SELECT "table", "name", "unique", "primary" FROM INDEXES('mytable');
2SELECT name FROM INDEXES('mytable') WHERE "unique";
Edit this page on GitHub Last updated