I want to smooth Lines in postgis, to be more specific, I want to smooth road data from OpenStreetMap.
Basicly I thought of something like this scenario.

This would be a possible road segment.

I want to use ST_LineInterpolate_Point() to select the middle Points

After this, I want to create New Points between the original ones and the darkgreen helpline. (I have no Idea how to achieve this...)

I read about circularlinestrings. I hope it will be possible to lay one of these over the darkgreen and red points.

Finaly I want to use ST_LineInterpolate_Point() again on the circularlinestring (if this is possible) and create some new points(yellow ones), to make a new normal LineString.
To sum up, I am new to PostGIS, but since I haven't found anything helpful for LineSmoothing I need a function where I can input a LineString and the number of yellow points per segment. The function should return a new LineString.
First of all: Is this possible to achieve with just pl/pgsql?
Second, since I am new to all of this, can somebody give me some advice where to start?