Control / params · All operations

List the engine's catalogue

A variant of Set parameters

List what the engine or project holds, such as functions, keywords, extensions, plugins or stored jobs, as a table.

Status

In arcform

Not built yet

arcform does not do this yet; it would live in how a Protocol runs. 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 Hop (2)
  • Metadata inputread 2026-09-27

    Read the metadata objects defined in the current project as rows

  • Plugin Catalogread 2026-09-27

    List the installed transforms, actions and metadata types from the plugin registry

DuckDB (7)
  • duckdb_extensionsread 2026-09-27

    duckdb_extensions table function

  • duckdb_functionsread 2026-09-27

    duckdb_functions table function

  • duckdb_keywordsread 2026-09-27

    duckdb_keywords table function

  • duckdb_optimizersread 2026-09-27

    duckdb_optimizers table function

  • icu_calendar_namesread 2026-09-27

    icu_calendar_names table function

  • pg_timezone_namesread 2026-09-27

    pg_timezone_names table function

  • pragma_collationsread 2026-09-27

    pragma_collations table function

EasyMorph (1)
  • Project metadataread 2026-09-27

    List an EasyMorph project's connectors, parameters, modules, tables and actions as a table

Pentaho Data Integration (1)
  • Get repository namesread 2026-09-27

    List the transformations and jobs stored in a repository with their details

Background

DuckDB offers table functions, named with the prefix duckdb_, that return metadata about the current database as a result usable like an ordinary table.[1] In DuckDB, duckdb_functions() describes the functions available in the instance, macros included, and duckdb_keywords() lists its keywords and reserved words.[1] Apache Hop's Plugin Catalog transform reads the live plugin registry of the Hop installation and emits one row per installed plugin.[2]

When to use it

Apache Hop's Plugin Catalog comes from the registry of the running installation rather than a static list, so it matches the version in use and includes any third-party plugins installed.[2] In Apache Hop, the Plugin Catalog can be used to audit which plugins are installed across environments.[2] Ask the catalogue, not the documentation, when the question is what this installation can actually run. (Meridian's view) In DuckDB, duckdb_extensions() reports for each extension whether it is installed and whether it is loaded.[1] A step that checks for an extension before it is needed fails early and clearly, instead of midway on a missing function. (Meridian's view)

In DuckDB, some duckdb_ table functions have a view of the same name that leaves out objects marked internal, so a call that omits the parentheses may return the view's result instead.[1] Write the parentheses every time, so the query says which of the two it means. (Meridian's view)

The method

In DuckDB, a duckdb_ table function is called with parentheses in the FROM clause of a SELECT statement, or with the CALL statement.[1] In DuckDB, the columns a duckdb_ table function returns can be referred to elsewhere in the statement, for example in the WHERE clause.[1] In Apache Hop, the Plugin Catalog is a source transform: it generates rows and does not read an input stream.[2] For each plugin, Apache Hop's Plugin Catalog also reports the metadata properties the plugin accepts, so the catalogue shows which properties each one exposes.[2]

Compared with the alternatives

In relational databases, the information schema (information_schema) is a standard set of read-only views about the tables, views, columns and procedures in a database.[3] The SQL standard specifies a uniform means of access to a database's catalogue, called the INFORMATION_SCHEMA, but not all databases follow it.[4] In DuckDB, information_schema.columns is implemented as a query on top of duckdb_columns(), which also returns metadata about DuckDB's internal objects.[1] Apache DataFusion lists its available functions with the SHOW FUNCTIONS command or a routines view in its information_schema.[5] Use the standard views where a query has to run on more than one engine, and the engine's own catalogue where you need what only that engine records. (Meridian's view)