Zum Inhalt springen

DuckDB_%-Metadatenfunktionen

DuckDB bietet eine Sammlung von Tabellenfunktionen, die Metadaten zur aktuellen Datenbank liefern. Diese Funktionen liegen im Schema main und ihre Namen haben das Präfix duckdb_.

Die von einer duckdb_-Tabellenfunktion zurückgegebene Ergebnismenge kann wie eine gewöhnliche Tabelle oder Sicht verwendet werden. Sie können beispielsweise einen duckdb_-Funktionsaufruf in der FROM-Klausel einer SELECT-Anweisung verwenden und auf die Spalten der zurückgegebenen Ergebnismenge an anderer Stelle in der Anweisung verweisen, etwa in der WHERE-Klausel.

Tabellenfunktionen sind trotzdem Funktionen, und Sie sollten nach dem Funktionsnamen Klammern schreiben, um sie aufzurufen und die zurückgegebene Ergebnismenge zu erhalten:

SELECT * FROM duckdb_settings();

Alternativ können Sie Tabellenfunktionen auch mit der CALL-Syntax ausführen:

CALL duckdb_settings();

Auch in diesem Fall sind die Klammern verpflichtend.

Für einige der duckdb_%-Funktionen gibt es auch eine gleichnamige Sicht, die ebenfalls im Schema main liegt. Typischerweise machen diese Sichten ein SELECT auf die duckdb_-Tabellenfunktion gleichen Namens und filtern interne Objekte heraus. Wir erwähnen das hier, weil Sie bei versehentlich weggelassenen Klammern im duckdb_-Tabellenfunktionsaufruf trotzdem ein Ergebnis erhalten können, aber von der gleichnamigen Sicht.

Beispiel:

Die Tabellenfunktion duckdb_views() gibt alle Sichten zurück, einschließlich der als intern markierten:

SELECT * FROM duckdb_views();

Die Sicht duckdb_views gibt Sichten zurück, die nicht als intern markiert sind:

SELECT * FROM duckdb_views;

duckdb_columns

Die Funktion duckdb_columns() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Spalten.

Spalte Beschreibung Typ
database_name Der Name der Datenbank, die das Spaltenobjekt enthält. VARCHAR
database_oid Interne Kennung der Datenbank, die das Spaltenobjekt enthält. BIGINT
schema_name Der SQL-Name des Schemas, das das Tabellenobjekt enthält, das diese Spalte definiert. VARCHAR
schema_oid Interne Kennung des Schemaobjekts, das die Tabelle der Spalte enthält. BIGINT
table_name Der SQL-Name der Tabelle, die die Spalte definiert. VARCHAR
table_oid Interne Kennung (Name) des Tabellenobjekts, das die Spalte definiert. BIGINT
column_name Der SQL-Name der Spalte. VARCHAR
column_index Die eindeutige Position der Spalte innerhalb ihrer Tabelle. INTEGER
comment Ein Kommentar, der mit der Anweisung COMMENT ON erzeugt wurde. VARCHAR
internal true, wenn diese Spalte eingebaut ist, false, wenn sie benutzerdefiniert ist. BOOLEAN
column_default Der Standardwert der Spalte (in SQL ausgedrückt) VARCHAR
is_nullable true, wenn die Spalte NULL-Werte aufnehmen kann; false, wenn die Spalte keine NULL-Werte aufnehmen kann. BOOLEAN
data_type Der Name des Spaltendatentyps. VARCHAR
data_type_id Die interne Kennung des Spaltendatentyps. BIGINT
character_maximum_length Immer NULL. Die Texttypen von DuckDB erzwingen keine Längenbeschränkung anhand eines Längen-Typparameters. INTEGER
numeric_precision Die Anzahl der Einheiten (in der durch numeric_precision_radix angegebenen Basis) zur Speicherung von Spaltenwerten. Bei ganzzahligen und näherungsweise numerischen Typen ist das die Anzahl der Bits. Bei Dezimaltypen ist das die Anzahl der Ziffernstellen. INTEGER
numeric_precision_radix Die Zahlenbasis der Einheiten in der Spalte numeric_precision. Bei ganzzahligen und näherungsweise numerischen Typen ist das 2, d. h. die Genauigkeit wird als Anzahl von Bits ausgedrückt. Beim Typ decimal ist das 10, d. h. die Genauigkeit wird als Anzahl von Dezimalstellen ausgedrückt. INTEGER
numeric_scale Gilt für den Typ decimal. Gibt die maximale Anzahl von Nachkommastellen an (d. h. die Anzahl der Ziffern, die nach dem Dezimaltrennzeichen erscheinen dürfen). INTEGER

Die Systemsicht information_schema.columns bietet einen standardisierteren Weg, Metadaten zu Datenbankspalten zu holen, die Funktion duckdb_columns gibt jedoch auch Metadaten zu internen DuckDB-Objekten zurück. (Tatsächlich ist information_schema.columns als Abfrage über duckdb_columns() implementiert.)

duckdb_constraints

Die Funktion duckdb_constraints() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Bedingungen.

Spalte Beschreibung Typ
database_name Der Name der Datenbank, die die Bedingung enthält. VARCHAR
database_oid Interne Kennung der Datenbank, die die Bedingung enthält. BIGINT
schema_name Der SQL-Name des Schemas, das die Tabelle enthält, auf der die Bedingung definiert ist. VARCHAR
schema_oid Interne Kennung des Schemaobjekts, das die Tabelle enthält, auf der die Bedingung definiert ist. BIGINT
table_name Der SQL-Name der Tabelle, auf der die Bedingung definiert ist. VARCHAR
table_oid Interne Kennung (Name) des Tabellenobjekts, auf dem die Bedingung definiert ist. BIGINT
constraint_index Gibt die Position der Bedingung in ihrer Tabellendefinition an. BIGINT
constraint_type Gibt den Typ der Bedingung an. Zulässige Werte sind CHECK, FOREIGN KEY, PRIMARY KEY, NOT NULL, UNIQUE. VARCHAR
constraint_text Die Definition der Bedingung als SQL-Phrase. (Nicht unbedingt eine vollständige oder syntaktisch gültige DDL-Anweisung.) VARCHAR
expression Ist die Bedingung eine Check-Bedingung, die Definition der geprüften Bedingung, sonst NULL. VARCHAR
constraint_column_indexes Ein Array von Tabellenspaltenindizes, die auf die in der Bedingungsdefinition vorkommenden Spalten verweisen. BIGINT[]
constraint_column_names Ein Array von Tabellenspaltennamen, die in der Bedingungsdefinition vorkommen. VARCHAR[]
constraint_name Der Name der Bedingung. VARCHAR
referenced_table Die von der Bedingung referenzierte Tabelle. VARCHAR
referenced_column_names Die von der Bedingung referenzierten Spaltennamen. VARCHAR[]

Die Systemsichten information_schema.referential_constraints und information_schema.table_constraints bieten einen standardisierteren Weg, Metadaten zu Bedingungen zu holen, die Funktion duckdb_constraints gibt jedoch auch Metadaten zu internen DuckDB-Objekten zurück. (Tatsächlich sind information_schema.referential_constraints und information_schema.table_constraints als Abfrage über duckdb_constraints() implementiert.)

duckdb_coordinate_systems

Die Funktion duckdb_coordinate_systems() listet die verfügbaren Koordinatenreferenzsysteme (CRS) zur Verwendung mit dem Datentyp GEOMETRY.

Spalte Beschreibung Typ
database_name Der Name der Datenbank, die die CRS-Definition speichert. VARCHAR
database_oid Interne Kennung der Datenbank, die die CRS-Definition speichert. BIGINT
schema_name Der SQL-Name des Schemas, das die CRS-Definition speichert. VARCHAR
schema_oid Interne Kennung des Schemas, das die CRS-Definition speichert. BIGINT
crs_oid Eindeutige interne Kennung für das CRS. BIGINT
crs_name Ein eindeutiger Name, der das CRS identifiziert. (Typischerweise ist dieser Wert identisch mit auth_name und auth_code, getrennt durch einen Doppelpunkt) VARCHAR
auth_name Der Name der Behörde, die das CRS definiert hat. VARCHAR
auth_code Der Code, der das CRS innerhalb seiner Behörde definiert. VARCHAR
projjson Die Projjson-Kodierung des CRS. VARCHAR
wkt2_2019 Die Well-Known-Text-Darstellung (WKT) des CRS. VARCHAR

Diese Funktion listet sowohl eingebaute CRS als auch die von Erweiterungen installierten (etwa der Erweiterung SPATIAL).

duckdb_databases

Die Funktion duckdb_databases() listet die Datenbanken, die aus dem aktuellen DuckDB-Prozess heraus zugänglich sind. Neben der beim Start zugeordneten Datenbank enthält die Liste auch Datenbanken, die später an den DuckDB-Prozess angehängt wurden.

Spalte Beschreibung Typ
database_name Der Name der Datenbank oder der Alias, wenn die Datenbank mit einer ALIAS-Klausel angehängt wurde. VARCHAR
database_oid Die interne Kennung der Datenbank. VARCHAR
path Der der Datenbank zugeordnete Dateipfad. VARCHAR
comment Ein Kommentar, der mit der Anweisung COMMENT ON erzeugt wurde. VARCHAR
tags Eine Map von String-Schlüssel-Wert-Paaren. MAP(VARCHAR, VARCHAR)
internal true kennzeichnet eine System- oder eingebaute Datenbank. false kennzeichnet eine benutzerdefinierte Datenbank. BOOLEAN
type Der Typ gibt den Typ des von der angehängten Datenbank implementierten RDBMS an. Bei DuckDB-Datenbanken ist dieser Wert duckdb. VARCHAR
readonly Gibt an, ob die Datenbank schreibgeschützt ist. BOOLEAN
options Die in der ATTACH-Anweisung verwendeten Optionen, als Map von Optionsnamen auf ihre String-Werte. MAP(VARCHAR, VARCHAR)

duckdb_dependencies

Die Funktion duckdb_dependencies() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Abhängigkeiten.

Spalte Beschreibung Typ
classid Immer 0 BIGINT
objid Die interne ID des Objekts. BIGINT
objsubid Immer 0 INTEGER
refclassid Immer 0 BIGINT
refobjid Die interne ID des abhängigen Objekts. BIGINT
refobjsubid Immer 0 INTEGER
deptype Der Typ der Abhängigkeit. Entweder regulär (n) oder automatisch (a). VARCHAR

duckdb_extensions

Die Funktion duckdb_extensions() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Erweiterungen.

Spalte Beschreibung Typ
extension_name Der Name der Erweiterung. VARCHAR
loaded true, wenn die Erweiterung geladen ist, false, wenn sie nicht geladen ist. BOOLEAN
installed true, wenn die Erweiterung installiert ist, false, wenn sie nicht installiert ist. BOOLEAN
install_path (BUILT-IN), wenn die Erweiterung eingebaut ist, sonst der Dateisystempfad, an dem die Binärdatei liegt, die die Erweiterung implementiert. VARCHAR
description Menschenlesbarer Text, der die Funktionalität der Erweiterung beschreibt. VARCHAR
aliases Liste alternativer Namen für diese Erweiterung. VARCHAR[]
extension_version Die Version der Erweiterung (vX.Y.Z für stabile Versionen und 6-Zeichen-Hash für instabile Versionen). VARCHAR
install_mode Der Installationsmodus, der zum Installieren der Erweiterung verwendet wurde: UNKNOWN, REPOSITORY, CUSTOM_PATH, STATICALLY_LINKED, NOT_INSTALLED, NULL. VARCHAR
installed_from Name des Repositorys, aus dem die Erweiterung installiert wurde, z. B. community oder core_nightly. Die leere Zeichenkette bezeichnet das Repository core. VARCHAR

duckdb_functions

Die Funktion duckdb_functions() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Funktionen (einschließlich Makros).

Spalte Beschreibung Typ
database_name Der Name der Datenbank, die diese Funktion enthält. VARCHAR
database_oid Interne Kennung der Datenbank, die den Index enthält. BIGINT
schema_name Der SQL-Name des Schemas, in dem die Funktion liegt. VARCHAR
function_name Der SQL-Name der Funktion. VARCHAR
function_type Die Funktionsart. Der Wert ist einer von: table, scalar, aggregate, pragma, macro, table_macro VARCHAR
description Beschreibung dieser Funktion (immer NULL) VARCHAR
comment Ein Kommentar, der mit der Anweisung COMMENT ON erzeugt wurde. VARCHAR
tags Eine Map von String-Schlüssel-Wert-Paaren. MAP(VARCHAR, VARCHAR)
return_type Der logische Datentypname des zurückgegebenen Werts. Gilt für skalare und Aggregatfunktionen. VARCHAR
parameters Hat die Funktion Parameter, die Liste der Parameternamen. VARCHAR[]
parameter_types Hat die Funktion Parameter, eine Liste logischer Datentypnamen entsprechend der Parameterliste. VARCHAR[]
varargs Der Name des Datentyps, falls die Funktion eine variable Anzahl von Argumenten hat, oder NULL, wenn die Funktion keine variable Anzahl von Argumenten hat. VARCHAR
macro_definition Ist dies ein Makro, der SQL-Ausdruck, der es definiert. VARCHAR
has_side_effects false, wenn dies eine reine Funktion ist. true, wenn diese Funktion den Datenbankzustand ändert (wie die Sequenzfunktionen nextval() und curval()). BOOLEAN
internal true, wenn die Funktion eingebaut ist (von DuckDB oder einer Erweiterung definiert), false, wenn sie mit der Anweisung CREATE MACRO definiert wurde. BOOLEAN
function_oid Die interne Kennung für diese Funktion. BIGINT
examples Beispiele zur Verwendung der Funktion. Wird zur Erzeugung der Dokumentation verwendet. VARCHAR[]
stability Die Stabilität der Funktion (CONSISTENT, VOLATILE, CONSISTENT_WITHIN_QUERY oder NULL) VARCHAR

duckdb_indexes

Die Funktion duckdb_indexes() liefert Metadaten zu sekundären Indizes in der DuckDB-Instanz.

Spalte Beschreibung Typ
database_name Der Name der Datenbank, die diesen Index enthält. VARCHAR
database_oid Interne Kennung der Datenbank, die den Index enthält. BIGINT
schema_name Der SQL-Name des Schemas, das die Tabelle mit dem sekundären Index enthält. VARCHAR
schema_oid Interne Kennung des Schemaobjekts. BIGINT
index_name Der SQL-Name dieses sekundären Index. VARCHAR
index_oid Die Objektkennung dieses Index. BIGINT
table_name Der Name der Tabelle mit dem Index. VARCHAR
table_oid Interne Kennung (Name) des Tabellenobjekts. BIGINT
comment Ein Kommentar, der mit der Anweisung COMMENT ON erzeugt wurde. VARCHAR
tags Eine Map von String-Schlüssel-Wert-Paaren. MAP(VARCHAR, VARCHAR)
is_unique true, wenn der Index mit dem Modifikator UNIQUE erzeugt wurde, false, wenn nicht. BOOLEAN
is_primary Immer false. BOOLEAN
expressions Immer NULL. VARCHAR
sql Die Definition des Index, ausgedrückt als CREATE INDEX-SQL-Anweisung. VARCHAR

Beachten Sie, dass duckdb_indexes nur Metadaten zu sekundären Indizes liefert, d. h. zu Indizes, die durch explizite CREATE INDEX-Anweisungen erzeugt wurden. Primärschlüssel, Fremdschlüssel und UNIQUE-Bedingungen werden über Indizes gepflegt, ihre Details sind jedoch in der Funktion duckdb_constraints() enthalten.

duckdb_keywords

Die Funktion duckdb_keywords() liefert Metadaten zu den Schlüsselwörtern und reservierten Wörtern von DuckDB.

Spalte Beschreibung Typ
keyword_name Das Schlüsselwort. VARCHAR
keyword_category Die Kategorie des Schlüsselworts: reserved (kann ohne Anführungszeichen nicht als Bezeichner verwendet werden), unreserved (kann als Bezeichner verwendet werden), column_name (als Spaltenname verwendbar, aber nicht als Typ- oder Funktionsname) oder type_function (als Typ- oder Funktionsname verwendbar, aber nicht als Spaltenname). Siehe Schlüsselwörter und Bezeichner. VARCHAR

duckdb_log_contexts

Die Funktion duckdb_log_contexts() liefert Informationen zu den Kontexten von DuckDB-Logeinträgen.

Spalte Beschreibung Typ
context_id Die Kennung des Kontexts. Die Spalte context_id in der Tabelle duckdb_logs ist ein Fremdschlüssel, der auf diese Spalte zeigt. UBIGINT
scope Der Geltungsbereich des Kontexts (connection, database oder file_opener). VARCHAR
connection_id Die Kennung der Verbindung. UBIGINT
transaction_id Die Kennung der Transaktion. UBIGINT
query_id Die Kennung der Abfrage. UBIGINT
thread_id Die Kennung des Threads. UBIGINT

duckdb_logs

Die Funktion duckdb_logs() gibt eine Tabelle von DuckDB-Logeinträgen zurück.

Spalte Beschreibung Typ
context_id Die Kennung des Kontexts des Logeintrags. Fremdschlüssel zur Tabelle duckdb_log_contexts. UBIGINT
timestamp Der Zeitstempel des Logeintrags. TIMESTAMP
type Der Typ des Logeintrags. VARCHAR
log_level Die Stufe des Logeintrags (TRACE, DEBUG, INFO, WARN, ERROR oder FATAL). VARCHAR
message Die Nachricht des Logeintrags. VARCHAR

duckdb_memory

Die Funktion duckdb_memory() liefert Metadaten zum Buffer-Manager von DuckDB.

Spalte Beschreibung Typ
tag Das Speicher-Tag. Es hat einen der folgenden Werte: BASE_TABLE, HASH_TABLE, PARQUET_READER, CSV_READER, ORDER_BY, ART_INDEX, COLUMN_DATA, METADATA, OVERFLOW_STRINGS, IN_MEMORY_TABLE, ALLOCATOR, EXTENSION. VARCHAR
memory_usage_bytes Der verwendete Speicher (in Bytes). BIGINT
temporary_storage_bytes Der verwendete Festplattenspeicher (in Bytes). BIGINT

duckdb_optimizers

Die Funktion duckdb_optimizers() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Optimierungsregeln (z. B. expression_rewriter, filter_pushdown). Diese können selektiv mit PRAGMA disabled_optimizers abgeschaltet werden.

Spalte Beschreibung Typ
name Der Name der Optimierungsregel. VARCHAR

duckdb_prepared_statements

Die Funktion duckdb_prepared_statements() liefert Metadaten zu den Prepared Statements, die in der aktuellen DuckDB-Sitzung existieren.

Spalte Beschreibung Typ
name Der Name des Prepared Statement. VARCHAR
statement Die SQL-Anweisung. VARCHAR
parameter_types Die erwarteten Parametertypen für die Parameter der Anweisung. Gibt derzeit für alle Parameter UNKNOWN zurück. VARCHAR[]
result_types Die Typen der Spalten in der vom Prepared Statement zurückgegebenen Tabelle. VARCHAR[]

duckdb_profiling_settings

Das Makro duckdb_profiling_settings() gibt die aktuellen Profiling-bezogenen Einstellungen aus duckdb_settings() zurück.

Spalte Beschreibung Typ
name Der Name der Profiling-Einstellung. VARCHAR
value Der aktuelle Wert der Einstellung. VARCHAR
description Eine Beschreibung der Einstellung. VARCHAR

duckdb_schemas

Die Funktion duckdb_schemas() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Schemata.

Spalte Beschreibung Typ
oid Interne Kennung des Schemaobjekts. BIGINT
database_name Der Name der Datenbank, die dieses Schema enthält. VARCHAR
database_oid Interne Kennung der Datenbank, die das Schema enthält. BIGINT
schema_name Der SQL-Name des Schemas. VARCHAR
comment Ein Kommentar, der mit der Anweisung COMMENT ON erzeugt wurde. VARCHAR
tags Eine Map von String-Schlüssel-Wert-Paaren. MAP(VARCHAR, VARCHAR)
internal true, wenn dies ein internes (eingebautes) Schema ist, false, wenn dies ein benutzerdefiniertes Schema ist. BOOLEAN
sql Immer NULL VARCHAR

Die Systemsicht information_schema.schemata bietet einen standardisierteren Weg, Metadaten zu Datenbankschemata zu holen.

duckdb_secret_types

Die Funktion duckdb_secret_types() listet Secret-Typen, die in der aktuellen DuckDB-Sitzung unterstützt werden.

Spalte Beschreibung Typ
type Der Name des Secret-Typs, z. B. s3. VARCHAR
default_provider Der Standard-Secret-Provider, z. B. config. VARCHAR
extension Die Erweiterung, die den Secret-Typ registriert hat, z. B. aws. VARCHAR

duckdb_secrets

Die Funktion duckdb_secrets() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Secrets.

Spalte Beschreibung Typ
name Der Name des Secrets. VARCHAR
type Der Typ des Secrets, z. B. S3, GCS, R2, AZURE. VARCHAR
provider Der Provider des Secrets. VARCHAR
persistent Gibt an, ob das Secret persistent ist. BOOLEAN
storage Das Backend zum Speichern des Secrets. VARCHAR
scope Der Geltungsbereich des Secrets. VARCHAR[]
secret_string Gibt den Inhalt des Secrets als Zeichenkette zurück. Sensible Informationen, z. B. der Access Key, werden geschwärzt. VARCHAR

duckdb_sequences

Die Funktion duckdb_sequences() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Sequenzen.

Spalte Beschreibung Typ
database_name Der Name der Datenbank, die diese Sequenz enthält VARCHAR
database_oid Interne Kennung der Datenbank, die die Sequenz enthält. BIGINT
schema_name Der SQL-Name des Schemas, das das Sequenzobjekt enthält. VARCHAR
schema_oid Interne Kennung des Schemaobjekts, das das Sequenzobjekt enthält. BIGINT
sequence_name Der SQL-Name, der die Sequenz innerhalb des Schemas identifiziert. VARCHAR
sequence_oid Die interne Kennung dieses Sequenzobjekts. BIGINT
comment Ein Kommentar, der mit der Anweisung COMMENT ON erzeugt wurde. VARCHAR
tags Eine Map von String-Schlüssel-Wert-Paaren. MAP(VARCHAR, VARCHAR)
temporary Ob diese Sequenz temporär ist. Temporäre Sequenzen sind flüchtig und nur innerhalb der aktuellen Verbindung sichtbar. BOOLEAN
start_value Der Anfangswert der Sequenz. Dieser Wert wird zurückgegeben, wenn nextval() zum allerersten Mal auf dieser Sequenz aufgerufen wird. BIGINT
min_value Der Minimalwert der Sequenz. BIGINT
max_value Der Maximalwert der Sequenz. BIGINT
increment_by Der Wert, der zum aktuellen Wert der Sequenz addiert wird, um den nächsten Wert aus der Sequenz zu ziehen. BIGINT
cycle Ob die Sequenz von vorn beginnen soll, wenn das Ziehen des nächsten Werts einen Wert außerhalb des Bereichs ergeben würde. BOOLEAN
last_value NULL, wenn noch nie ein Wert mit nextval(...) aus der Sequenz gezogen wurde. 1, wenn ein Wert gezogen wurde. BIGINT
sql Die Definition dieses Objekts, ausgedrückt als SQL-DDL-Anweisung. VARCHAR

Attribute wie temporary, start_value usw. entsprechen den verschiedenen Optionen der Anweisung CREATE SEQUENCE und sind dort vollständig dokumentiert. Beachten Sie, dass die Attribute in der Ergebnismenge von duckdb_sequences immer ausgefüllt sind, auch wenn sie in der Anweisung CREATE SEQUENCE nicht explizit angegeben wurden.

  1. Der Spaltenname last_value legt nahe, dass er den letzten aus der Sequenz gezogenen Wert enthält, das ist jedoch nicht der Fall. Er ist entweder NULL, wenn nie ein Wert aus der Sequenz gezogen wurde, oder 1 (wenn jemals ein Wert aus der Sequenz gezogen wurde).

  2. Zykliert die Sequenz, beginnt sie an der Grenze ihres Bereichs neu, nicht unbedingt beim als Startwert angegebenen Wert.

duckdb_settings

Die Funktion duckdb_settings() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Einstellungen.

Spalte Beschreibung Typ
name Name der Einstellung. VARCHAR
value Aktueller Wert der Einstellung. VARCHAR
description Eine Beschreibung der Einstellung. VARCHAR
input_type Der logische Datentyp des Einstellungswerts. VARCHAR
scope Der Geltungsbereich der Einstellung (LOCAL oder GLOBAL). VARCHAR

Die verschiedenen Einstellungen sind auf der Konfigurationsseite beschrieben.

duckdb_tables

Die Funktion duckdb_tables() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Basistabellen.

Spalte Beschreibung Typ
database_name Der Name der Datenbank, die diese Tabelle enthält VARCHAR
database_oid Interne Kennung der Datenbank, die die Tabelle enthält. BIGINT
schema_name Der SQL-Name des Schemas, das die Basistabelle enthält. VARCHAR
schema_oid Interne Kennung des Schemaobjekts, das die Basistabelle enthält. BIGINT
table_name Der SQL-Name der Basistabelle. VARCHAR
table_oid Interne Kennung des Basistabellenobjekts. BIGINT
comment Ein Kommentar, der mit der Anweisung COMMENT ON erzeugt wurde. VARCHAR
tags Eine Map von String-Schlüssel-Wert-Paaren. MAP(VARCHAR, VARCHAR)
internal false, wenn dies eine benutzerdefinierte Tabelle ist. BOOLEAN
temporary Ob dies eine temporäre Tabelle ist. Temporäre Tabellen werden nicht persistiert und sind nur innerhalb der aktuellen Verbindung sichtbar. BOOLEAN
has_primary_key true, wenn dieses Tabellenobjekt einen PRIMARY KEY definiert. BOOLEAN
estimated_size Die geschätzte Anzahl der Zeilen in der Tabelle. BIGINT
column_count Die Anzahl der von diesem Objekt definierten Spalten. BIGINT
index_count Die Anzahl der dieser Tabelle zugeordneten Indizes. Diese Zahl umfasst alle sekundären Indizes sowie interne Indizes, die zur Pflege von PRIMARY KEY- und/oder UNIQUE-Bedingungen erzeugt wurden. BIGINT
check_constraint_count Die Anzahl der auf Spalten innerhalb der Tabelle aktiven Check-Bedingungen. BIGINT
sql Die Definition dieses Objekts, ausgedrückt als SQL-CREATE TABLE-Anweisung. VARCHAR

Die Systemsicht information_schema.tables bietet einen standardisierteren Weg, Metadaten zu Datenbanktabellen zu holen, der auch Sichten einschließt. Die von duckdb_tables zurückgegebene Ergebnismenge enthält jedoch einige Spalten, die in information_schema.tables nicht enthalten sind.

duckdb_temporary_files

Die Funktion duckdb_temporary_files() liefert Metadaten zu den temporären Dateien, die DuckDB auf die Festplatte geschrieben hat, um Daten aus dem Speicher auszulagern. Diese Funktion existiert vor allem zu Debug- und Testzwecken.

Spalte Beschreibung Typ
path Der Name der temporären Datei. VARCHAR
size Die Größe der temporären Datei in Bytes. BIGINT

duckdb_types

Die Funktion duckdb_types() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Datentypen.

Spalte Beschreibung Typ
database_name Der Name der Datenbank, die dieses Schema enthält. VARCHAR
database_oid Interne Kennung der Datenbank, die den Datentyp enthält. BIGINT
schema_name Der SQL-Name des Schemas, das die Typdefinition enthält. Immer main. VARCHAR
schema_oid Interne Kennung des Schemaobjekts. BIGINT
type_name Der Name oder Alias dieses Datentyps. VARCHAR
type_oid Die interne Kennung des Datentypobjekts. Ist sie NULL, ist dies ein Alias des Typs (identifiziert durch den Wert in der Spalte logical_type). BIGINT
type_size Die Anzahl der Bytes, die nötig sind, um einen Wert dieses Typs im Speicher darzustellen. BIGINT
logical_type Der „kanonische“ Name dieses Datentyps. Derselbe logical_type kann von mehreren Typen mit unterschiedlichen type_names referenziert werden. VARCHAR
type_category Die Kategorie, zu der dieser Typ gehört. Datentypen derselben Kategorie zeigen in der Regel ähnliches Verhalten, wenn Werte dieses Typs in Ausdrücken verwendet werden. Die type_category NUMERIC umfasst beispielsweise Ganzzahlen, Dezimalzahlen und Gleitkommazahlen. VARCHAR
comment Ein Kommentar, der mit der Anweisung COMMENT ON erzeugt wurde. VARCHAR
tags Eine Map von String-Schlüssel-Wert-Paaren. MAP(VARCHAR, VARCHAR)
internal Ob dies ein internes (eingebautes) oder ein Benutzerobjekt ist. BOOLEAN
labels Labels zur Kategorisierung von Typen. Wird zur Erzeugung der Dokumentation verwendet. VARCHAR[]

duckdb_variables

Die Funktion duckdb_variables() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Variablen.

Spalte Beschreibung Typ
name Der Name der Variable, z. B. x. VARCHAR
value Der Wert der Variable, z. B. 12. VARCHAR
type Der Typ der Variable, z. B. INTEGER. VARCHAR

duckdb_views

Die Funktion duckdb_views() liefert Metadaten zu den in der DuckDB-Instanz verfügbaren Sichten.

Spalte Beschreibung Typ
database_name Der Name der Datenbank, die diese Sicht enthält. VARCHAR
database_oid Interne Kennung der Datenbank, die diese Sicht enthält. BIGINT
schema_name Der SQL-Name des Schemas, in dem die Sicht liegt. VARCHAR
schema_oid Interne Kennung des Schemaobjekts, das die Sicht enthält. BIGINT
view_name Der SQL-Name des Sichtobjekts. VARCHAR
view_oid Die interne Kennung dieses Sichtobjekts. BIGINT
comment Ein Kommentar, der mit der Anweisung COMMENT ON erzeugt wurde. VARCHAR
tags Eine Map von String-Schlüssel-Wert-Paaren. MAP(VARCHAR, VARCHAR)
internal true, wenn dies eine interne (eingebaute) Sicht ist, false, wenn dies eine benutzerdefinierte Sicht ist. BOOLEAN
temporary true, wenn dies eine temporäre Sicht ist. Temporäre Sichten sind nicht persistent und nur innerhalb der aktuellen Verbindung sichtbar. BOOLEAN
column_count Die Anzahl der von diesem Sichtobjekt definierten Spalten. BIGINT
sql Die Definition dieses Objekts, ausgedrückt als SQL-DDL-Anweisung. VARCHAR

Die Systemsicht information_schema.tables bietet einen standardisierteren Weg, Metadaten zu Datenbanksichten zu holen, der auch Basistabellen einschließt. Die von duckdb_views zurückgegebene Ergebnismenge enthält jedoch auch Definitionen interner Sichtobjekte sowie einige Spalten, die in information_schema.tables nicht enthalten sind.