Thread: Re: [SQL] VARCHAR(50), CHAR(50) or TEXT ?
Hello Mark, Thanks for you quick response. I understand the difference between CHAR and VARCHAR now. But, what is the difference between VARCHAR and TEXT ? Kind regards Henrik Steffen http://www.TopConcepts.de/
On Thu, 13 May 1999, Henrik Steffen wrote: > Thanks for you quick response. > > I understand the difference between CHAR and VARCHAR now. > > But, what is the difference between VARCHAR and TEXT ? Text fields have no explicit upper limit. They are kinda like memo fields in Access, except you *can* index them in PostgreSQL. Brett W. McCoy http://www.lan2wan.com/~bmccoy/ ----------------------------------------------------------------------- Never get into fights with ugly people because they have nothing to lose.
Henrik Steffen <webmaster@city-map.de> writes: > But, what is the difference between VARCHAR and TEXT ? Almost none. VARCHAR won't let you go beyond the stated maximum length, whereas TEXT has no specific upper limit. Otherwise they are stored in exactly the same way. (At least in Postgres ... dunno about other DBMSs.) I'd be inclined to use TEXT unless the maximum length were really an important part of the semantics of the data for my application. If you find yourself saying "Well, I *think* it'll never go beyond N characters, but maybe I should add a little slop for safety" then I'd say forget all about VARCHAR and use TEXT. If you find yourself saying "it *had better not* go beyond N characters, because that app over there will crash if it does" then use VARCHAR to enforce the limit. regards, tom lane
> Henrik Steffen <webmaster@city-map.de> writes: > > But, what is the difference between VARCHAR and TEXT ? > > Almost none. VARCHAR won't let you go beyond the stated maximum length, > whereas TEXT has no specific upper limit. Otherwise they are stored > in exactly the same way. (At least in Postgres ... dunno about other > DBMSs.) > > I'd be inclined to use TEXT unless the maximum length were really an > important part of the semantics of the data for my application. If > you find yourself saying "Well, I *think* it'll never go beyond N > characters, but maybe I should add a little slop for safety" then > I'd say forget all about VARCHAR and use TEXT. If you find yourself > saying "it *had better not* go beyond N characters, because that > app over there will crash if it does" then use VARCHAR to enforce the > limit. Don't forget, char() has a performance benefit over varchar()/text. varchar() allows you to document/clip a field to a specific lenght. Some people like that for fixed-type fields, like "A" for active, "R" for retired. char(1) documents it is only on character too. See the FAQ for info on this. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
> > Almost none. VARCHAR won't let you go beyond the stated maximum length, > > whereas TEXT has no specific upper limit. Otherwise they are stored ~~~~~~~~~~~~~~~~~~~~~~~~~ > > in exactly the same way. (At least in Postgres ... dunno about other > > DBMSs.) > BTW there may be implicit limit. When I tried to insert sequence data an error occured. ERROR: Tuple is too big: size 9520 Does that show the limit? How can I deal with large object? =============================================================================== Science is the game we play with God to find out what his rules are. ------------------------------------------------------------------------------- Doo Suk Yang Research Scientist Voice: 82-42-866-2222 LG Chemical Ltd. Research Park Biotech Research Institute I FAX: 82-42-861-2566 ------------------------------------------------------------------------------- A fool hath no delight in understanding, but that his heart may discover itself. (Proverbs 18:2) ===============================================================================
Tuples have an 8k limit. Doo Suk Yang wrote: > > > > Almost none. VARCHAR won't let you go beyond the stated maximum length, > > > whereas TEXT has no specific upper limit. Otherwise they are stored > ~~~~~~~~~~~~~~~~~~~~~~~~~ > > > in exactly the same way. (At least in Postgres ... dunno about other > > > DBMSs.) > > > > BTW there may be implicit limit. When I tried to insert sequence data an > error occured. > ERROR: Tuple is too big: size 9520 > Does that show the limit? > > How can I deal with large object? > > =============================================================================== > Science is the game we play with God to find out what his rules are. > ------------------------------------------------------------------------------- > Doo Suk Yang > Research Scientist Voice: 82-42-866-2222 > LG Chemical Ltd. Research Park > Biotech Research Institute I FAX: 82-42-861-2566 > ------------------------------------------------------------------------------- > A fool hath no delight in understanding, but that his heart may discover itself. > (Proverbs 18:2) > ===============================================================================