これは、SQL関数を使用して既に持っているものを整理するだけでPostgreSQLに簡単に再実装できます。
create function months_of(interval)
returns int strict immutable language sql as $$
select extract(years from $1)::int * 12 + extract(month from $1)::int
$$;
create function months_between(date, date)
returns int strict immutable language sql as $$
select abs(months_of(age($1, $2)))
$$;
そして今、select months_between('1978-06-20', '2011-12-09')
401を生成します。