On Sun, Nov 12, 2017 at 2:34 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
john snow <ofbizfanster@gmail.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".