Skip to main content
Since 1.3.0 Get the number of times the counter changed during the period summarized by the counter aggregate. Any change is counted, including resets to zero.

Samples

Get the number of times the counter changed over each 15-minute interval.
SELECT
    id,
    bucket,
    num_changes(summary)
FROM (
    SELECT
        id,
        time_bucket('15 min'::interval, ts) AS bucket,
        counter_agg(ts, val) AS summary
    FROM foo
    GROUP BY id, time_bucket('15 min'::interval, ts)
) t

Arguments

The syntax is:
num_changes(
    summary CounterSummary
) RETURNS BIGINT
NameTypeDefaultRequiredDescription
summaryCounterSummary-A counter summary created using counter_agg

Returns

ColumnTypeDescription
num_changesBIGINTThe number of times the counter changed