Thread: Problem - PostgreSQL Truncating Column Names to 63 Characters

Problem - PostgreSQL Truncating Column Names to 63 Characters

From
Darren Houston
Date:
Hello everyone,

I guess I'm not typing in the right search string for my question
because I can't find any answer on the Internet. So I'm coming to all
of you for help.

I'm performing a cross-tab type query in PostgreSQL where the returned
data in rows become my column names. The problem I'm facing is that
PostgreSQL is truncating the column names down to 63 characters, and
some of my names need to be a little larger than that. Is a 63 column
name length a limit in PostgreSQL, or is there a
setting/function/compile time option I can enact to overcome this
problem?

Thank you for any help,

Darren H.

Re: Problem - PostgreSQL Truncating Column Names to 63 Characters

From
Tom Lane
Date:
Darren Houston <darren.houston@gmail.com> writes:
> PostgreSQL is truncating the column names down to 63 characters, and
> some of my names need to be a little larger than that. Is a 63 column
> name length a limit in PostgreSQL, or is there a
> setting/function/compile time option I can enact to overcome this
> problem?

See NAMEDATALEN ... the pghackers archives contain some traffic about
the performance penalty for increasing it ...

            regards, tom lane

Re: Problem - PostgreSQL Truncating Column Names to 63 Characters

From
Alvaro Herrera
Date:
On Fri, May 13, 2005 at 10:07:43AM -0600, Darren Houston wrote:
> Hello everyone,
>
> I guess I'm not typing in the right search string for my question
> because I can't find any answer on the Internet. So I'm coming to all
> of you for help.
>
> I'm performing a cross-tab type query in PostgreSQL where the returned
> data in rows become my column names. The problem I'm facing is that
> PostgreSQL is truncating the column names down to 63 characters, and
> some of my names need to be a little larger than that. Is a 63 column
> name length a limit in PostgreSQL, or is there a
> setting/function/compile time option I can enact to overcome this
> problem?

Yes, you can change it at compile time.  It's the NAMEDATALEN
definition.  Don't expect the resulting data directory to be compatible
with vanilla sources though -- you will only be able to use that with
patches sources.  Of course, if you produce dump files with long names,
they will be truncated if exported into nonpatched systems too, so take
caution.

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"La primera ley de las demostraciones en vivo es: no trate de usar el sistema.
Escriba un guión que no toque nada para no causar daños." (Jakob Nielsen)

Re: Problem - PostgreSQL Truncating Column Names to 63 Characters

From
Darren Houston
Date:
Hello Tom and Alvaro,

The solution you guys provided is exactly the answer I needed.

Thank you for your help and saving me time,

Darren H.

On 5/13/05, Alvaro Herrera <alvherre@surnet.cl> wrote:
> On Fri, May 13, 2005 at 10:07:43AM -0600, Darren Houston wrote:
> > Hello everyone,
> >
> > I guess I'm not typing in the right search string for my question
> > because I can't find any answer on the Internet. So I'm coming to all
> > of you for help.
> >
> > I'm performing a cross-tab type query in PostgreSQL where the returned
> > data in rows become my column names. The problem I'm facing is that
> > PostgreSQL is truncating the column names down to 63 characters, and
> > some of my names need to be a little larger than that. Is a 63 column
> > name length a limit in PostgreSQL, or is there a
> > setting/function/compile time option I can enact to overcome this
> > problem?
>
> Yes, you can change it at compile time.  It's the NAMEDATALEN
> definition.  Don't expect the resulting data directory to be compatible
> with vanilla sources though -- you will only be able to use that with
> patches sources.  Of course, if you produce dump files with long names,
> they will be truncated if exported into nonpatched systems too, so take
> caution.
>
> --
> Alvaro Herrera (<alvherre[a]surnet.cl>)
> "La primera ley de las demostraciones en vivo es: no trate de usar el sistema.
> Escriba un guión que no toque nada para no causar daños." (Jakob Nielsen)
>