mmoncure@xxxxxxxxx ("Merlin Moncure") writes: > On 10/17/06, Mario Weilguni <mweilguni@xxxxxxxx> wrote: >> Am Dienstag, 17. Oktober 2006 11:52 schrieb Alexander Staubo: >> > Lastly, note that in PostgreSQL these length declarations are not >> > necessary: >> > >> > contacto varchar(255), >> > fuente varchar(512), >> > prefijopais varchar(10) >> > >> > Instead, use: >> > >> > contacto text, >> > fuente text, >> > prefijopais text >> > >> > See the PostgreSQL manual for an explanation of varchar vs. text. >> >> Enforcing length constraints with varchar(xyz) is good database design, not a >> bad one. Using text everywhere might be tempting because it works, but it's >> not a good idea. > > while you are correct, i think the spirit of the argument is wrong > becuase there is no constraint to be enforced in those fields. a > length constraint of n is only valid is n + 1 characters are an error > and should be rejected by the database. anything else is IMO bad > form. There are practial exceptions to this rule though, for example > client technology that might require a length. > > so, imo alexander is correct: > contacto varchar(255) > > ...is a false constraint, why exactly 255? is that were the dart landed? Yeah, 255 seems silly to me. If I'm going to be arbitrary, there are two better choices: 1. 80, because that's how many characters one can fit across a piece of paper whilst keeping things pretty readable; 2. 64, because that will fit on a screen, and leave some space for a field name/description. > specifically limiting text fields so users 'don't enter too much > data' is a manifestation c programmer's disease :) No, I can't agree. I'm pretty accustomed to languages that don't pinch you the ways C does, and I still dislike having over-wide columns because it makes it more difficult to generate readable reports. -- output = ("cbbrowne" "@" "linuxfinances.info") http://linuxdatabases.info/info/unix.html "Instant coffee is like pouring hot water over the cremated remains of a good friend."