跳到主要内容

system.stream_status

引入或更新: v1.2.225

提供关于指定流状态的信息,生成一个单列结果 (has_data),其值可以是 truefalse

  • true: 表示该流可能包含变更数据捕获记录。
  • false: 表示该流当前不包含任何变更数据捕获记录。
备注

结果中出现 true (has_data) 并不保证变更数据捕获记录的确定存在。其他操作,例如执行表压缩操作,也可能导致 true 值,即使实际上没有变更数据捕获记录。

语法

SELECT * FROM STREAM_STATUS('<stream_name>');

示例

-- 创建一个包含列 'c' 的表 't'
CREATE TABLE t (c int);

-- 在表 't' 上创建流 's'
CREATE STREAM s ON TABLE t;

-- 检查流 's' 的初始状态
SELECT * FROM STREAM_STATUS('s');

-- 结果应为 'false',表示初始时没有变更数据捕获记录
┌──────────┐
│ has_data │
├──────────┤
false
└──────────┘

-- 向表 't' 插入一个值
INSERT INTO t VALUES (1);

-- 插入后检查流 's' 的更新状态
SELECT * FROM STREAM_STATUS('s');

-- 结果现在应为 'true',表示存在变更数据捕获记录
┌──────────┐
│ has_data │
├──────────┤
true
└──────────┘
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册