Thank you everyone for your attentive answers.
From your information and some detailed testing, I think that for
Brazil it is best to use boundary=postal_code for the vast majority of
municipalities with small population, with addr:postcode for a few
elements with exceptional postal codes. It also seems that in the long
term this would be the best solution for larger cities as well ,
though in the short term we may keep using addr:postcode for most
addresses, or postal_code whenever both sides of a street have the
same postal code. We surely should not use tiger:* tags, as the scope
of those is by definition limited to the US.
Note: in my tests, Nominatim seemed to have some issues computing its
postcode field when tiger:zip_left and tiger:zip_right are different.
 (pt) https://forum.openstreetmap.org/viewtopic.php?pid=688791
+55 (51) 9962-5409
"Nullius in verba."
Tagging mailing list