PLZ (German zip-codes) at border of specific PLZ

I want to know which ZIP codes have contact to the borders of a specific ZIP code.

06484 has this ZIP codes at its borders: 38829, 38828, 06458, 06466, 06493, 06485, 06502

How can I create such a list? Where to get that information from?

I guess you sshould get the result when you collect all the parent objects for each node of a given boundary. This presumes that neighbouring boundaries share at least one common node.

This Overpass query does the trick. It doesn’t return PLZ 06466 Seeland, due to the way PLZ 06458 Hedersleben was created in OSM.

[out:csv(postal_code, note)];
relation
  [postal_code="06484"];
  >>;
  rel(bw)[type="boundary"][boundary="postal_code"][postal_code!="06484"];
out;

Resulting csv file:

Don’t you also have to consider closed ways, not just relations?