David Schnur <dnschnur@gmail.com> writes:
> I bundle Postgres (8.3.15) with another product as a back-end database. On
> Windows, the default build includes a bunch of what appear to be codec
> libraries, with names like, utf8_and_cyrillic.dll, ascii_and_mic.dll, etc.
> But using Microsoft's dependency walker tool, I see no references to any
> of these in libpq.dll, psql, postgres or initdb.
> So I'm wondering what these are used for, what executable or library ends
> up loading them, and when/how exactly this happens.
They're used for character set encoding conversions, eg when
database_encoding = UTF8 and client_encoding = LATIN1 (or any other
non-identical combination).
> I'd like to know
> whether they're actually necessary, since we could save some space in our
> installer by omitting them.
AFAIR, the system will function without 'em ... until you try to set
client_encoding different from database_encoding. Removing that
functionality doesn't seem like a good idea to me, but if you know the
needs of your userbase precisely, maybe you could get away with it.
regards, tom lane