в SQL Server язык написания хранимок - T-SQL, а не чистый SQL, именно поэтому вы можете в нем использовать переменные, циклы и тд. В Postgres ближайшим аналогом T-SQL является plpgsql. Чистый SQL не поддерживает императивных конструкций. Процедуры/функции/вьюхи, которые не используют императивный мусор, перенесутся простой копипастой с минимальными изменениями, а все императивное нужно будет портировать на plpgsql, иногда не совсем тривиально.
Я недавно занимался ровно таким проектом, пишите если будут конкретные вопросы