¿Algo así?
-- s1: the point
WITH s1 AS (SELECT
ST_SetSRID(ST_MakePoint(9.116447, 60.548203), 4326) AS geom),
-- s2: polygon(s) where the point is in
s2 AS (SELECT
p.geom FROM s1, polygons_wgs84 p WHERE ST_Intersects(p.geom, s1.geom)),
-- s3: polygon(s) which touch s2
s3 AS (SELECT
p.geom FROM s2, polygons_wgs84 p WHERE ST_Touches(p.geom, s2.geom)),
-- s4: polygon(s) within a radius of about 492 m from the point (this will also contain s2)
s4 AS (SELECT
p.geom
FROM s1, polygons_wgs84 p
WHERE ST_Intersects(p.geom, ST_Transform(ST_Buffer(ST_Transform(s1.geom, 3857), 1000), 4326))
SELECT geom FROM s3
UNION
SELECT geom FROM s4;
Te recomendaría reproyectar tu capa de polígonos y la expresión en s1 a UTM 32N para el sur de Noruega para tener distancias en metros. A continuación, podría reemplazar s4 por el más performante
-- s4: polygon(s) within a radius of about 1000 m from the point (this will also contain s2)
s4 AS (SELECT
p.geom
FROM s1, polygons_wgs84 p
WHERE ST_DWithin(p.geom, s1.geom, 1000))