Как вывести значение поля до выполнения UPDATE, вместе со значением после UPDATE?
Упрощенный вариант - использовать в запросе таблицы со своим алиасом

UPDATE users x
SET    step = 'confirmed'
FROM   users y
WHERE  x.number = y.number
AND    x.number = 1
RETURNING y.number AS number, y.step AS old_step, x.step;

PostgreSQL fiddle
Добавь в источник данных копию изменяемой таблицы, связанную по первичному ключу или иному уникальному полю/выражению, и оттуда возьми исходное значение.

DEMO