Re: varchar vs varchar(n)

From: Ken Benson <Ken(at)infowerks(dot)com>
To: "pgsql-novice(at)postgresql(dot)org" <pgsql-novice(at)postgresql(dot)org>
Subject: Re: varchar vs varchar(n)
Date: 2017-11-13 15:27:30
Message-ID: DM3PR19MB060207FEE3086F437A7E03C5A32B0@DM3PR19MB0602.namprd19.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice


From: pgsql-novice-owner(at)postgresql(dot)org [mailto:pgsql-novice-owner(at)postgresql(dot)org] On Behalf Of john snow
Sent: Sunday, November 12, 2017 1:53 PM
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: [NOVICE] varchar vs varchar(n)

thanks!

On Sun, Nov 12, 2017 at 2:34 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us<mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us>> wrote:
john snow <ofbizfanster(at)gmail(dot)com<mailto:ofbizfanster(at)gmail(dot)com>> writes:
> do postgresql developers just use varchar instead of specifying a limit n
> when dealing with string types? if so, are there any gotcha's i should be
> aware of?

Generally speaking, I would only use varchar(n) when there is a clear
reason traceable to application requirements why there has to be a
limit, and why the limit should be n and not some other number.
Otherwise you're just creating issues for yourself. The habit of
inventing arbitrary limits on text column width is just a hangover
from punched-card days.

Actually, Postgres people tend to use "text" rather than unconstrained
"varchar". In principle those two types behave equivalently; but the
system has to jump through some extra hoops to work with varchar, and
every so often you'll run into a case where "varchar" is not optimized
as well as "text".

regards, tom lane
[KenB]
Is this true – even if the column in question will be used in (or as part of) an INDEX.
It seems to be the index would work best if the length of the columns involved is a known value.

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message pinker 2017-11-13 15:27:34 Re: array_agg cast issue
Previous Message Tom Lane 2017-11-13 15:18:11 Re: array_agg cast issue