Puede lograr esto anidando dos funciones de ventana:la primera para obtener si src
valor cambiado de la fila anterior, el segundo para sumar el número de cambios. Lamentablemente, Postgres no permite anidar funciones de ventana directamente, pero puede solucionarlo
con una subconsulta:
SELECT
id,
src,
sum(incr) OVER (ORDER BY id)
FROM (
SELECT
*,
(lag(src) OVER (ORDER BY id) IS DISTINCT FROM src)::int AS incr
FROM example
) AS _;