Benjamin Scherrey <postgres@proteus-tech.com> writes:
> I'm converting a database from MS-Access to a Postgres (7.2.3)
> backend but will be keeping the Access front end and communicate via
> ODBC. Unfortunately the scope of work does not allow me to alter
> attribute names within the tables and several attribute names are
> longer than the default Postgres supported 32 chars as defined in
> src/include/postgres_ext.h:NAMEDATALEN. There is also a note in this
> header that databases with different NAMEDATALEN's cannot
> interoperate. This seems to imply that a single database server can
> candle different databases with different NAMEDATALEN's - raising
> some questions to me. To get things going I made the change to 52
> chars and rebuilt Postgres - everything seems to be working.
NAMEDATALEN is compiled into the code. The client is going to have
to install a custom-compiled Postgres binary. The manual text (it
could be clearer, I think) means that a database *installation*
created with one value of NAMEDATALEN cannot be used with server
binaries that have a different value.
I *think* NAMEDATALEN was bumped up to 64 for 7.3 (now in beta) so
they won't have to run a custom compile once 7.3 comes out if they're
willing to upgrade.
For now, they are either going to have to recompile their PG binaries
and initdb/dump/reload, or install your hacked version on a
nonstandard port alongside their existing installation.
-Doug