Acquire / database · All operations
List the tables in a database
A variant of Read from a database
Return the tables, collections or catalogs a connection holds, as rows of metadata rather than data.
Status
- In arcform
Not built yet
arcform does not do this yet. Its place on the roadmap
What other tools call it
Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).
Apache NiFi (1)
ListDatabaseTablesread 2026-09-27List tables of a database connection, one FlowFile of metadata attributes per table
Polars (1)
Unity Catalog client (family)read 2026-09-2713 entries: Catalog with list_catalogs, list_namespaces, list_tables, get_table_info, scan_table, plus info classes
RapidMiner Studio (4)
Get Collection Info (Milvus)read 2026-09-27Fetch information about a collection in a Milvus vector database
Get Collection Info (Qdrant)read 2026-09-27Fetch information about a collection in a Qdrant vector database
Get Collections (Milvus)read 2026-09-27List the collections of a Milvus vector database
Get Collections (Qdrant)read 2026-09-27List the collections of a Qdrant vector database
Background
In relational databases, the information schema is a standard set of read-only views describing the tables, views, columns and procedures in a database.[1] In DuckDB, the information_schema.tables view lists each table and view with its catalog, schema, name and table type.[2]
When to use it
The information schema can be a source of what some databases offer through non-standard commands, such as the SHOW command of MySQL.[1] Oracle Database and SQLite are among the relational database systems that do not support the information schema.[1] Before writing a listing query for a new source, check whether it offers the information schema or only catalogue commands of its own. (Meridian's view)
In DuckDB, SHOW TABLES lists the tables in the selected schema, while SHOW ALL TABLES lists the tables in every attached database and schema.[3] When several databases are attached, list them all at once rather than trusting the default schema to hold everything. (Meridian's view)
In Apache NiFi's ListDatabaseTables processor, including each table's row count affects performance, because a database query is generated for each table listed.[4] Apache NiFi's ListDatabaseTables does not list a table again until its Refresh Interval has elapsed or its state is cleared, though tables added meanwhile are listed as it runs.[4] In Apache NiFi's ListDatabaseTables, the Table Types property has a default value of TABLE.[4] Check which table types a listing includes, and whether it remembers earlier runs, before treating it as a full inventory of a database. (Meridian's view)
The method
A database catalog holds the metadata in which definitions of database objects such as base tables, views, indexes and users are stored.[5] DuckDB's implementation of the information schema is based on PostgreSQL's information schema.[2] DuckDB defines sqlite_master and many PostgreSQL system catalog tables for compatibility with SQLite and PostgreSQL.[3]
DuckDB's duckdb_tables() function returns metadata about base tables, including each table's column count, estimated number of rows and the CREATE TABLE statement that defines it.[6] In DuckDB, information_schema.tables is the more standardised listing and includes views, while duckdb_tables() returns a few columns that information_schema.tables lacks.[6] DuckDB's duckdb_databases() function lists the databases accessible from the current DuckDB process, including databases attached after startup.[6]
Apache NiFi's ListDatabaseTables writes each table's name, catalog, schema, fully qualified name and type as attributes, with typical types including TABLE, VIEW and SYSTEM TABLE.[4]
Compared with the alternatives
In DuckDB, SHOW TABLES lists the tables, while the DESCRIBE command shows the schema of an individual table.[3] List the tables to learn what a source holds, then describe the one you mean to read before reading its rows. (Meridian's view)
Sources
- [1]Information schema - Wikipediasecondary source
- [2]Information Schema – DuckDBdocumentation
- [3]List Tables – DuckDBdocumentation
- [4]ListDatabaseTables - Apache NiFidocumentation
- [5]Database catalog - Wikipediasecondary source
- [6]DuckDB_% Metadata Functions – DuckDBdocumentation