non-noded intersection

Hallo Alle!

Ich habe die unten stehende Abfrage erzeugt, die trotz des Bufferns folgenden Topologiefehler erzeugt:
TopologyException: found non-noded intersection between LINESTRING (387749 5.82225e+06, 387725 5.8222e+06) and LINESTRING (387725 5.8222e+06, 387731 5.82222e+06) at 387729 5.82221e+06. ERROR: GEOS difference() threw an error!

create table spatial_indicators.thoroughfares_boardwalks_difference as
select a.tvz_id, st_difference(st_buffer(st_buffer(a.geom_difference,-0.5),0.5),b.geom_fussweg_25833) as geom_difference
from spatial_indicators.public_thoroughfares as a, spatial_indicators.boardwalks as b
where a.tvz_id = b.id_tvz;

Könnt ihr mir sagen was ich falsch mache, bzw. wie ich den Fehler am besten löse?
Was bedeutet der Fehler denn überhaupt?

Vielen Dank und viele Grüße,
Sarah

Ergänzung:

ich habe mittlerweile ein Ergebnis bekommen mit folgender Abfrage:

Drop table if exists spatial_indicators.thoroughfares_boardwalks_difference;
create table spatial_indicators.thoroughfares_boardwalks_difference as
select a.tvz_id, st_difference(st_buffer(st_buffer(a.geom_difference,-1.0),1.0),st_buffer(st_buffer(b.geom_fussweg_25833,-1.0),1.0)) as geom_difference
from spatial_indicators.public_thoroughfares as a, spatial_indicators.boardwalks as b
where a.tvz_id = b.id_tvz;

Ich habe also den Buffer vergrößert. Jedoch erscheinen jetzt in QGis in meinem neu erzeugten Layer plötzlich Polygone, die dort gar nicht sein dürften. Man kann diese Polygone jedoch nicht markieren o.Ä.

Woran liegt das, dass die plötzlich da sind? Liegt das am Buffer?