Re: How and when are encoding DLLs used on Windows?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: David Schnur <dnschnur(at)gmail(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: How and when are encoding DLLs used on Windows?
Date: 2011-11-16 23:57:57
Message-ID: 24309.1321487877@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

David Schnur <dnschnur(at)gmail(dot)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

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2011-11-17 00:02:11 Re: How could I find the last modified procedure in the database?
Previous Message Cédric Villemain 2011-11-16 17:38:16 Re: rsync and streaming replication