- 安装
- 文档
- 入门
- 连接
- 数据导入
- 客户端 API
- 概览
- ADBC
- C
- C++
- CLI
- Dart
- Go
- Java (JDBC)
- Julia
- Node.js (已弃用)
- Node.js (Neo)
- ODBC
- PHP
- Python
- R
- Rust
- Swift
- Wasm
- SQL
- 介绍
- 语句
- 概览
- ANALYZE
- ALTER TABLE
- ALTER VIEW
- ATTACH 和 DETACH
- CALL
- CHECKPOINT
- COMMENT ON
- COPY
- CREATE INDEX
- CREATE MACRO
- CREATE SCHEMA
- CREATE SECRET
- CREATE SEQUENCE
- CREATE TABLE
- CREATE VIEW
- CREATE TYPE
- DELETE
- DESCRIBE
- DROP
- EXPORT 和 IMPORT DATABASE
- INSERT
- LOAD / INSTALL
- PIVOT
- 性能分析
- SELECT
- SET / RESET
- SET VARIABLE
- SUMMARIZE
- 事务管理
- UNPIVOT
- UPDATE
- USE
- VACUUM
- 查询语法
- SELECT
- FROM 和 JOIN
- WHERE
- GROUP BY
- GROUPING SETS
- HAVING
- ORDER BY
- LIMIT 和 OFFSET
- SAMPLE
- 展开嵌套
- WITH
- WINDOW
- QUALIFY
- VALUES
- FILTER
- 集合操作
- 预处理语句
- 数据类型
- 表达式
- 函数
- 概览
- 聚合函数
- 数组函数
- 位字符串函数
- Blob 函数
- 日期格式化函数
- 日期函数
- 日期部分函数
- 枚举函数
- 间隔函数
- Lambda 函数
- 列表函数
- 映射函数
- 嵌套函数
- 数值函数
- 模式匹配
- 正则表达式
- 结构体函数
- 文本函数
- 时间函数
- 时间戳函数
- 带时区时间戳函数
- 联合函数
- 实用函数
- 窗口函数
- 约束
- 索引
- 元查询
- DuckDB 的 SQL 方言
- 示例
- 配置
- 扩展
- 核心扩展
- 概览
- 自动补全
- Avro
- AWS
- Azure
- Delta
- DuckLake
- 编码
- Excel
- 全文搜索
- httpfs (HTTP 和 S3)
- Iceberg
- ICU
- inet
- jemalloc
- MySQL
- PostgreSQL
- 空间
- SQLite
- TPC-DS
- TPC-H
- UI
- VSS
- 指南
- 概览
- 数据查看器
- 数据库集成
- 文件格式
- 概览
- CSV 导入
- CSV 导出
- 直接读取文件
- Excel 导入
- Excel 导出
- JSON 导入
- JSON 导出
- Parquet 导入
- Parquet 导出
- 查询 Parquet 文件
- 使用 file: 协议访问文件
- 网络和云存储
- 概览
- HTTP Parquet 导入
- S3 Parquet 导入
- S3 Parquet 导出
- S3 Iceberg 导入
- S3 Express One
- GCS 导入
- Cloudflare R2 导入
- 通过 HTTPS / S3 使用 DuckDB
- Fastly 对象存储导入
- 元查询
- ODBC
- 性能
- Python
- 安装
- 执行 SQL
- Jupyter Notebooks
- marimo Notebooks
- Pandas 上的 SQL
- 从 Pandas 导入
- 导出到 Pandas
- 从 Numpy 导入
- 导出到 Numpy
- Arrow 上的 SQL
- 从 Arrow 导入
- 导出到 Arrow
- Pandas 上的关系型 API
- 多个 Python 线程
- 与 Ibis 集成
- 与 Polars 集成
- 使用 fsspec 文件系统
- SQL 编辑器
- SQL 功能
- 代码片段
- 故障排除
- 术语表
- 离线浏览
- 操作手册
- 开发
- 内部结构
- 为什么选择 DuckDB
- 行为准则
- 发布日历
- 路线图
- 站点地图
- 在线演示
DuckDB 提供了一组表函数,这些函数提供有关当前数据库的元数据。这些函数位于 main
模式中,其名称以 duckdb_
为前缀。
由 duckdb_
表函数返回的结果集可以像普通表或视图一样使用。例如,您可以在 SELECT
语句的 FROM
子句中使用 duckdb_
函数调用,并且可以在语句的其他地方(例如在 WHERE
子句中)引用其返回结果集的列。
表函数仍然是函数,您应该在函数名后加上括号来调用它以获取其返回的结果集。
SELECT * FROM duckdb_settings();
或者,您也可以使用 CALL
语法执行表函数。
CALL duckdb_settings();
在这种情况下,括号也是必需的。
对于某些
duckdb_%
函数,也有一个同名视图可用,该视图也位于main
模式中。通常,这些视图会对同名的duckdb_
表函数执行SELECT
操作,同时过滤掉标记为内部的对象。我们在此提及这一点,因为如果您在duckdb_
表函数调用中不小心省略了括号,您可能仍然会得到结果,但该结果来自同名视图。
示例
duckdb_views()
表函数 返回所有视图,包括那些标记为内部的视图。
SELECT * FROM duckdb_views();
duckdb_views
视图 返回未标记为内部的视图。
SELECT * FROM duckdb_views;
duckdb_columns
duckdb_columns()
函数提供有关 DuckDB 实例中可用列的元数据。
列 | 描述 | 类型 |
---|---|---|
database_name |
包含列对象的数据库的名称。 | VARCHAR |
database_oid |
包含列对象的数据库的内部标识符。 | BIGINT |
schema_name |
包含定义此列的表对象的模式的 SQL 名称。 | VARCHAR |
schema_oid |
包含列所属表的模式对象的内部标识符。 | BIGINT |
表名 (table_name) |
定义该列的表的 SQL 名称。 | VARCHAR |
table_oid |
定义该列的表对象的内部标识符(名称)。 | BIGINT |
列名 (column_name) |
该列的 SQL 名称。 | VARCHAR |
column_index |
该列在其表中的唯一位置。 | INTEGER |
comment |
由 COMMENT ON 语句创建的注释。 |
VARCHAR |
internal |
如果此列是内置的则为 true ,如果是用户定义的则为 false 。 |
BOOLEAN |
column_default |
列的默认值(以 SQL 表示)。 | VARCHAR |
is_nullable |
如果列可以包含 NULL 值则为 true ;如果列不能包含 NULL 值则为 false 。 |
BOOLEAN |
data_type |
列数据类型的名称。 | VARCHAR |
data_type_id |
列数据类型的内部标识符。 | BIGINT |
character_maximum_length |
始终为 NULL 。DuckDB 文本类型 不基于长度类型参数强制执行值长度限制。 |
INTEGER |
numeric_precision |
用于存储列值的单位数(以 numeric_precision_radix 指示的基数表示)。对于整型和近似数值类型,这是位数。对于十进制类型,这是数字位数。 |
INTEGER |
numeric_precision_radix |
numeric_precision 列中单位的数字基数。对于整型和近似数值类型,此值为 2 ,表示精度以位数表示。对于 decimal 类型,此值为 10 ,表示精度以十进制位数表示。 |
INTEGER |
numeric_scale |
适用于 decimal 类型。表示小数位数的最大值(即,小数点后可能出现的位数)。 |
INTEGER |
虽然 information_schema.columns
系统视图提供了一种更标准的方式来获取数据库列的元数据,但 duckdb_columns
函数也返回有关 DuckDB 内部对象的元数据。(实际上,information_schema.columns
是作为 duckdb_columns()
之上的查询实现的。)
duckdb_constraints
duckdb_constraints()
函数提供有关 DuckDB 实例中可用约束的元数据。
列 | 描述 | 类型 |
---|---|---|
database_name |
包含该约束的数据库的名称。 | VARCHAR |
database_oid |
包含该约束的数据库的内部标识符。 | BIGINT |
schema_name |
包含定义约束的表的模式的 SQL 名称。 | VARCHAR |
schema_oid |
包含定义约束的表的模式对象的内部标识符。 | BIGINT |
表名 (table_name) |
定义约束的表的 SQL 名称。 | VARCHAR |
table_oid |
定义约束的表对象的内部标识符(名称)。 | BIGINT |
constraint_index |
指示约束在其表定义中出现的位置。 | BIGINT |
constraint_type |
指示约束的类型。适用值为 CHECK 、FOREIGN KEY 、PRIMARY KEY 、NOT NULL 、UNIQUE 。 |
VARCHAR |
constraint_text |
以 SQL 短语表示的约束定义。(不一定是完整或语法有效的 DDL 语句。) | VARCHAR |
expression |
如果约束是检查约束,则为被检查条件的定义,否则为 NULL 。 |
VARCHAR |
constraint_column_indexes |
一个表列索引数组,指向约束定义中出现的列。 | BIGINT[] |
constraint_column_names |
一个表列名数组,出现在约束定义中。 | VARCHAR[] |
constraint_name |
约束的名称。 | VARCHAR |
referenced_table |
约束引用的表。 | VARCHAR |
referenced_column_names |
约束引用的列名。 | VARCHAR[] |
虽然 information_schema.referential_constraints
和 information_schema.table_constraints
系统视图提供了一种更标准的方式来获取约束的元数据,但 duckdb_constraints
函数也返回有关 DuckDB 内部对象的元数据。(实际上,information_schema.referential_constraints
和 information_schema.table_constraints
是作为 duckdb_constraints()
之上的查询实现的。)
duckdb_databases
duckdb_databases()
函数列出当前 DuckDB 进程中可访问的数据库。除了启动时关联的数据库外,列表还包括稍后 附加 到 DuckDB 进程的数据库。
列 | 描述 | 类型 |
---|---|---|
database_name |
数据库的名称,如果数据库是使用 ALIAS 子句附加的,则为别名。 | VARCHAR |
database_oid |
数据库的内部标识符。 | VARCHAR |
path |
与数据库关联的文件路径。 | VARCHAR |
comment |
由 COMMENT ON 语句创建的注释。 |
VARCHAR |
tags |
一个字符串键值对的映射。 | MAP(VARCHAR, VARCHAR) |
internal |
如果为 true ,表示系统或内置数据库。如果为 false ,表示用户定义的数据库。 |
BOOLEAN |
type |
类型指示附加数据库实现的 RDBMS 类型。对于 DuckDB 数据库,该值为 duckdb 。 |
VARCHAR |
readonly |
指示数据库是否为只读。 | BOOLEAN |
duckdb_dependencies
duckdb_dependencies()
函数提供有关 DuckDB 实例中可用依赖项的元数据。
列 | 描述 | 类型 |
---|---|---|
classid |
始终为 0 | BIGINT |
objid |
对象的内部 ID。 | BIGINT |
objsubid |
始终为 0 | INTEGER |
refclassid |
始终为 0 | BIGINT |
refobjid |
依赖对象的内部 ID。 | BIGINT |
refobjsubid |
始终为 0 | INTEGER |
deptype |
依赖项的类型。可以是常规 (n) 或自动 (a)。 | VARCHAR |
duckdb_extensions
duckdb_extensions()
函数提供有关 DuckDB 实例中可用扩展的元数据。
列 | 描述 | 类型 |
---|---|---|
扩展名称 |
扩展的名称。 | VARCHAR |
loaded |
如果扩展已加载则为 true ,如果未加载则为 false 。 |
BOOLEAN |
installed |
如果扩展已安装则为 true ,如果未安装则为 false 。 |
BOOLEAN |
install_path |
如果扩展是内置的则为 (BUILT-IN) ,否则为实现该扩展的二进制文件所在的 filesystem 路径。 |
VARCHAR |
description |
描述扩展功能的易读文本。 | VARCHAR |
aliases |
此扩展的备用名称列表。 | VARCHAR[] |
extension_version |
扩展版本(稳定版本为 vX.Y.Z ,不稳定版本为 6 字符哈希值)。 |
VARCHAR |
install_mode |
用于安装扩展的安装模式:UNKNOWN 、REPOSITORY 、CUSTOM_PATH 、STATICALLY_LINKED 、NOT_INSTALLED 、NULL 。 |
VARCHAR |
installed_from |
安装扩展的存储库名称,例如 community 或 core_nightly 。空字符串表示 core 存储库。 |
VARCHAR |
duckdb_functions
duckdb_functions()
函数提供有关 DuckDB 实例中可用函数(包括宏)的元数据。
列 | 描述 | 类型 |
---|---|---|
database_name |
包含此函数的数据库的名称。 | VARCHAR |
database_oid |
包含此数据库的内部标识符。 | BIGINT |
schema_name |
函数所在的模式的 SQL 名称。 | VARCHAR |
function_name |
函数的 SQL 名称。 | VARCHAR |
函数类型 |
函数类型。值为以下之一:table 、scalar 、aggregate 、pragma 、macro 。 |
VARCHAR |
description |
此函数的描述(始终为 NULL )。 |
VARCHAR |
comment |
由 COMMENT ON 语句创建的注释。 |
VARCHAR |
tags |
一个字符串键值对的映射。 | MAP(VARCHAR, VARCHAR) |
返回类型 |
返回值的逻辑数据类型名称。适用于标量和聚合函数。 | VARCHAR |
parameters |
如果函数有参数,则为参数名称列表。 | VARCHAR[] |
parameter_types |
如果函数有参数,则为与参数列表对应的逻辑数据类型名称列表。 | VARCHAR[] |
varargs |
如果函数具有可变数量的参数,则为数据类型的名称;如果函数没有可变数量的参数,则为 NULL 。 |
VARCHAR |
macro_definition |
如果这是一个宏,则为定义它的 SQL 表达式。 | VARCHAR |
has_side_effects |
如果这是纯函数则为 false 。如果此函数更改数据库状态(如序列函数 nextval() 和 curval() ),则为 true 。 |
BOOLEAN |
internal |
如果函数是内置的(由 DuckDB 或扩展定义)则为 true ,如果它是使用 CREATE MACRO 语句定义的则为 false 。 |
BOOLEAN |
function_oid |
此函数的内部标识符。 | BIGINT |
examples |
函数使用示例。用于生成文档。 | VARCHAR[] |
stability |
函数的稳定性(CONSISTENT 、VOLATILE 、CONSISTENT_WITHIN_QUERY 或 NULL )。 |
VARCHAR |
duckdb_indexes
duckdb_indexes()
函数提供有关 DuckDB 实例中可用二级索引的元数据。
列 | 描述 | 类型 |
---|---|---|
database_name |
包含此索引的数据库的名称。 | VARCHAR |
database_oid |
包含此数据库的内部标识符。 | BIGINT |
schema_name |
包含带有二级索引的表的模式的 SQL 名称。 | VARCHAR |
schema_oid |
模式对象的内部标识符。 | BIGINT |
index_name |
此二级索引的 SQL 名称。 | VARCHAR |
index_oid |
此索引的对象标识符。 | BIGINT |
表名 (table_name) |
带有此索引的表的名称。 | VARCHAR |
table_oid |
表对象的内部标识符(名称)。 | BIGINT |
comment |
由 COMMENT ON 语句创建的注释。 |
VARCHAR |
tags |
一个字符串键值对的映射。 | MAP(VARCHAR, VARCHAR) |
is_unique |
如果索引是使用 UNIQUE 修饰符创建的,则为 true ;否则为 false 。 |
BOOLEAN |
is_primary |
始终为 false 。 |
BOOLEAN |
expressions |
始终为 NULL 。 |
VARCHAR |
sql |
索引的定义,表示为 CREATE INDEX SQL 语句。 |
VARCHAR |
请注意,duckdb_indexes
仅提供有关二级索引的元数据,即那些由显式 CREATE INDEX
语句创建的索引。主键、外键和 UNIQUE
约束是使用索引维护的,但它们的详细信息包含在 duckdb_constraints()
函数中。
duckdb_keywords
duckdb_keywords()
函数提供有关 DuckDB 的关键字和保留字的元数据。
列 | 描述 | 类型 |
---|---|---|
keyword_name |
关键字。 | VARCHAR |
keyword_category |
指示关键字的类别。值为 column_name 、reserved 、type_function 和 unreserved 。 |
VARCHAR |
duckdb_log_contexts
duckdb_log_contexts()
函数提供有关 DuckDB 日志条目上下文的信息。
列 | 描述 | 类型 |
---|---|---|
context_id |
上下文的标识符。duckdb_logs 表中的 context_id 列是指向此列的外键。 |
UBIGINT |
scope |
上下文的范围(connection 、database 或 file_opener TODO: 更多?https://github.com/duckdb/duckdb/pull/15119)。 |
VARCHAR |
connection_id |
连接的标识符。 | UBIGINT |
transaction_id |
事务的标识符。 | UBIGINT |
query_id |
查询的标识符。 | UBIGINT |
thread_id |
线程的标识符。 | UBIGINT |
duckdb_logs
duckdb_logs()
函数返回一个 DuckDB 日志条目表。
列 | 描述 | 类型 |
---|---|---|
context_id |
日志条目上下文的标识符。是 duckdb_log_contexts 表的外键。 |
UBIGINT |
timestamp |
日志条目的时间戳。 | TIMESTAMP |
type |
日志条目的类型。TODO: ?? | VARCHAR |
log_level |
日志条目的级别(TRACE 、DEBUG 、INFO 、WARN 、ERROR 或 FATAL )。 |
VARCHAR |
message |
日志条目的消息。 | VARCHAR |
duckdb_memory
duckdb_memory()
函数提供有关 DuckDB 缓冲管理器元数据。
列 | 描述 | 类型 |
---|---|---|
tag |
内存标签。它具有以下值之一: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 |
使用的内存(字节)。 | BIGINT |
temporary_storage_bytes |
使用的磁盘存储(字节)。 | BIGINT |
duckdb_optimizers
duckdb_optimizers()
函数提供有关 DuckDB 实例中可用的优化规则(例如 expression_rewriter
、filter_pushdown
)的元数据。这些可以通过 PRAGMA disabled_optimizers
选择性地关闭。
列 | 描述 | 类型 |
---|---|---|
name |
优化规则的名称。 | VARCHAR |
duckdb_prepared_statements
duckdb_prepared_statements()
函数提供有关当前 DuckDB 会话中存在的预处理语句的元数据。
列 | 描述 | 类型 |
---|---|---|
name |
预处理语句的名称。 | VARCHAR |
statement |
SQL 语句。 | VARCHAR |
parameter_types |
语句参数的预期参数类型。目前所有参数都返回 UNKNOWN 。 |
VARCHAR[] |
result_types |
预处理语句返回的表中的列类型。 | VARCHAR[] |
duckdb_schemas
duckdb_schemas()
函数提供有关 DuckDB 实例中可用模式的元数据。
列 | 描述 | 类型 |
---|---|---|
oid |
模式对象的内部标识符。 | BIGINT |
database_name |
包含此模式的数据库的名称。 | VARCHAR |
database_oid |
包含该模式的数据库的内部标识符。 | BIGINT |
schema_name |
模式的 SQL 名称。 | VARCHAR |
comment |
由 COMMENT ON 语句创建的注释。 |
VARCHAR |
tags |
一个字符串键值对的映射。 | MAP(VARCHAR, VARCHAR) |
internal |
如果这是内部(内置)模式则为 true ,如果是用户定义模式则为 false 。 |
BOOLEAN |
sql |
始终为 NULL 。 |
VARCHAR |
information_schema.schemata
系统视图提供了一种更标准的方式来获取数据库模式的元数据。
duckdb_secret_types
duckdb_secret_types()
列出当前 DuckDB 会话中支持的 secret 类型。
列 | 描述 | 类型 |
---|---|---|
type |
secret 类型的名称,例如 s3 。 |
VARCHAR |
default_provider |
默认的 secret 提供者,例如 config 。 |
VARCHAR |
extension |
注册 secret 类型的扩展,例如 aws 。 |
VARCHAR |
duckdb_secrets
duckdb_secrets()
函数提供有关 DuckDB 实例中可用 secret 的元数据。
列 | 描述 | 类型 |
---|---|---|
name |
secret 的名称。 | VARCHAR |
type |
secret 的类型,例如 S3 、GCS 、R2 、AZURE 。 |
VARCHAR |
provider |
secret 的提供者。 | VARCHAR |
persistent |
指示 secret 是否持久。 | BOOLEAN |
storage |
存储 secret 的后端。 | VARCHAR |
scope |
secret 的范围。 | VARCHAR[] |
secret_string |
以字符串形式返回 secret 的内容。敏感信息(例如,访问密钥)将被处理。 | VARCHAR |
duckdb_sequences
duckdb_sequences()
函数提供有关 DuckDB 实例中可用序列的元数据。
列 | 描述 | 类型 |
---|---|---|
database_name |
包含此序列的数据库的名称。 | VARCHAR |
database_oid |
包含该序列的数据库的内部标识符。 | BIGINT |
schema_name |
包含序列对象的模式的 SQL 名称。 | VARCHAR |
schema_oid |
包含序列对象的模式对象的内部标识符。 | BIGINT |
sequence_name |
在模式中标识序列的 SQL 名称。 | VARCHAR |
sequence_oid |
此序列对象的内部标识符。 | BIGINT |
comment |
由 COMMENT ON 语句创建的注释。 |
VARCHAR |
tags |
一个字符串键值对的映射。 | MAP(VARCHAR, VARCHAR) |
temporary |
此序列是否为临时序列。临时序列是瞬态的,仅在当前连接中可见。 | BOOLEAN |
start_value |
序列的初始值。当首次在此序列上调用 nextval() 时,将返回此值。 |
BIGINT |
min_value |
序列的最小值。 | BIGINT |
max_value |
序列的最大值。 | BIGINT |
increment_by |
添加到序列当前值以从中获取下一个值的值。 | BIGINT |
cycle |
当获取下一个值将导致超出范围的值时,序列是否应该重新开始。 | BOOLEAN |
last_value |
如果从未通过 nextval(...) 从序列中获取任何值,则为 NULL 。如果已获取值,则为 1 。 |
BIGINT |
sql |
此对象的定义,表示为 SQL DDL 语句。 | VARCHAR |
诸如 temporary
、start_value
等属性对应于 CREATE SEQUENCE
语句中可用的各种选项,并在该处有完整的文档说明。请注意,即使在 CREATE SEQUENCE
语句中未明确指定属性,它们也始终会在 duckdb_sequences
结果集中填充。
列名
last_value
暗示它包含从序列中提取的最后一个值,但事实并非如此。如果从未从序列中提取值,则它为NULL
,否则为1
(如果曾从序列中提取过值)。如果序列循环,则序列将从其范围的边界重新开始,而不一定从指定为起始值的值开始。
duckdb_settings
duckdb_settings()
函数提供有关 DuckDB 实例中可用设置的元数据。
列 | 描述 | 类型 |
---|---|---|
name |
设置的名称。 | VARCHAR |
value |
设置的当前值。 | VARCHAR |
description |
设置的描述。 | VARCHAR |
输入类型 |
设置值的逻辑数据类型。 | VARCHAR |
scope |
设置的范围(LOCAL 或 GLOBAL )。 |
VARCHAR |
各种设置在配置页面中描述。
duckdb_tables
duckdb_tables()
函数提供有关 DuckDB 实例中可用基本表的元数据。
列 | 描述 | 类型 |
---|---|---|
database_name |
包含此表的数据库的名称。 | VARCHAR |
database_oid |
包含该表的数据库的内部标识符。 | BIGINT |
schema_name |
包含基本表的模式的 SQL 名称。 | VARCHAR |
schema_oid |
包含基本表的模式对象的内部标识符。 | BIGINT |
表名 (table_name) |
基本表的 SQL 名称。 | VARCHAR |
table_oid |
基本表对象的内部标识符。 | BIGINT |
comment |
由 COMMENT ON 语句创建的注释。 |
VARCHAR |
tags |
一个字符串键值对的映射。 | MAP(VARCHAR, VARCHAR) |
internal |
如果是用户定义的表则为 false 。 |
BOOLEAN |
temporary |
这是否是临时表。临时表不持久化,仅在当前连接中可见。 | BOOLEAN |
has_primary_key |
如果此表对象定义了 PRIMARY KEY ,则为 true 。 |
BOOLEAN |
estimated_size |
表中估计的行数。 | BIGINT |
column_count |
此对象定义的列数。 | BIGINT |
index_count |
与此表关联的索引数量。此数字包括所有二级索引,以及为维护 PRIMARY KEY 和/或 UNIQUE 约束而生成的内部索引。 |
BIGINT |
check_constraint_count |
表中列上活动的检查约束数量。 | BIGINT |
sql |
此对象的定义,表示为 SQL CREATE TABLE 语句。 |
VARCHAR |
虽然 information_schema.tables
系统视图提供了一种更标准的方式来获取数据库表(也包括视图)的元数据,但 duckdb_tables
返回的结果集包含一些 information_schema.tables
中未包含的列。
duckdb_temporary_files
duckdb_temporary_files()
函数提供有关 DuckDB 为将数据从内存中卸载而写入磁盘的临时文件的元数据。此函数主要用于调试和测试目的。
列 | 描述 | 类型 |
---|---|---|
path |
临时文件的名称。 | VARCHAR |
size |
临时文件的大小(字节)。 | BIGINT |
duckdb_types
duckdb_types()
函数提供有关 DuckDB 实例中可用数据类型的元数据。
列 | 描述 | 类型 |
---|---|---|
database_name |
包含此模式的数据库的名称。 | VARCHAR |
database_oid |
包含数据类型的数据库的内部标识符。 | BIGINT |
schema_name |
包含类型定义的模式的 SQL 名称。始终为 main 。 |
VARCHAR |
schema_oid |
模式对象的内部标识符。 | BIGINT |
type_name |
此数据类型的名称或别名。 | VARCHAR |
type_oid |
数据类型对象的内部标识符。如果为 NULL ,则这是该类型的别名(由 logical_type 列中的值标识)。 |
BIGINT |
type_size |
在内存中表示此类型值所需的字节数。 | BIGINT |
逻辑类型 |
此数据类型的“规范”名称。同一个 logical_type 可以被多个具有不同 type_name 的类型引用。 |
VARCHAR |
类型类别 |
此类型所属的类别。同一类别中的数据类型在使用此类型的值进行表达式计算时通常表现出类似的行为。例如,NUMERIC 类型类别包括整数、十进制数和浮点数。 |
VARCHAR |
comment |
由 COMMENT ON 语句创建的注释。 |
VARCHAR |
tags |
一个字符串键值对的映射。 | MAP(VARCHAR, VARCHAR) |
internal |
这是否是内部(内置)对象还是用户对象。 | BOOLEAN |
labels |
用于分类类型的标签。用于生成文档。 | VARCHAR[] |
duckdb_variables
duckdb_variables()
函数提供有关 DuckDB 实例中可用变量的元数据。
列 | 描述 | 类型 |
---|---|---|
name |
变量的名称,例如 x 。 |
VARCHAR |
value |
变量的值,例如 12 。 |
VARCHAR |
type |
变量的类型,例如 INTEGER 。 |
VARCHAR |
duckdb_views
duckdb_views()
函数提供有关 DuckDB 实例中可用视图的元数据。
列 | 描述 | 类型 |
---|---|---|
database_name |
包含此视图的数据库的名称。 | VARCHAR |
database_oid |
包含此视图的数据库的内部标识符。 | BIGINT |
schema_name |
视图所在的模式的 SQL 名称。 | VARCHAR |
schema_oid |
包含该视图的模式对象的内部标识符。 | BIGINT |
view_name |
视图对象的 SQL 名称。 | VARCHAR |
view_oid |
此视图对象的内部标识符。 | BIGINT |
comment |
由 COMMENT ON 语句创建的注释。 |
VARCHAR |
tags |
一个字符串键值对的映射。 | MAP(VARCHAR, VARCHAR) |
internal |
如果这是内部(内置)视图则为 true ,如果是用户定义视图则为 false 。 |
BOOLEAN |
temporary |
如果这是临时视图则为 true 。临时视图不持久化,仅在当前连接中可见。 |
BOOLEAN |
column_count |
此视图对象定义的列数。 | BIGINT |
sql |
此对象的定义,表示为 SQL DDL 语句。 | VARCHAR |
虽然 information_schema.tables
系统视图提供了一种更标准的方式来获取数据库视图(也包括基本表)的元数据,但 duckdb_views
返回的结果集还包含内部视图对象的定义以及一些未包含在 information_schema.tables
中的列。
本文中
- duckdb_columns
- duckdb_constraints
- duckdb_databases
- duckdb_dependencies
- duckdb_extensions
- duckdb_functions
- duckdb_indexes
- duckdb_keywords
- duckdb_log_contexts
- duckdb_logs
- duckdb_memory
- duckdb_optimizers
- duckdb_prepared_statements
- duckdb_schemas
- duckdb_secret_types
- duckdb_secrets
- duckdb_sequences
- duckdb_settings
- duckdb_tables
- duckdb_temporary_files
- duckdb_types
- duckdb_variables
- duckdb_views