Use zic's new "-b slim" option to generate smaller timezone files.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 19 Aug 2019 17:17:02 +0000 (13:17 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 19 Aug 2019 17:17:02 +0000 (13:17 -0400)
commita12079109686e75c833b0b04925af8cb2fa011c0
tree6f63d487ac25be3845a377d8b96dc5d8c4292e4d
parent28b6ec1df64775db6d6eb47655141cda1240d901
Use zic's new "-b slim" option to generate smaller timezone files.

IANA tzcode release 2019b adds an option that tells zic not to emit
the old 32-bit section of the timezone files, and to skip some other
space-wasting hacks needed for compatibility with old timezone client
libraries.  Since we only expect our own code to use the timezone data
we install, and our code is up-to-date with 2019b, there's no apparent
reason not to generate the smallest possible files.

Unfortunately, while the individual zone files do get significantly
smaller in many cases, they were not that big to begin with; which
means that no real space savings ensues on filesystems that don't
optimize small files.  (For instance, on ext4 with 4K block size,
"du" says the installed timezone tree is the same size as before.)
Still, it seems worth making the change, if only because this is
presumably the wave of the future.  At the very least, we'll save
some cycles while reading a zone file.

But given the marginal value and the fact that this is a new code
path, it doesn't seem worth the risk of back-patching this change
into stable branches.  Hence, unlike most of our timezone-related
changes, apply to HEAD only.

Discussion: https://postgr.es/m/24998.1563403327@sss.pgh.pa.us
src/timezone/Makefile
src/tools/msvc/Install.pm