Thread: confused on maximum characters

confused on maximum characters

From
roypgsqlgen@xemaps.com
Date:
Hey guys,

I'm a little confused by the documentation on varchar data type in postgresql.

Looking at the docs Peter Eisentraut added this note at the bottom of the documentation for character data.
---
The maximum value for "n" is 2147483648. The longest possible string is actually only about 1 GB, though. The storage
sizeof "(4+n)" is actually incorrect: char(n) really takes 4+n but varchar(n) and text take 4 plus the actual length of
thestored string. Long strings will actually be compressed by the system, though. 
---

So does this mean I can specify very large varchar column types, like say varchar(1024)?

And what does he mean by 'Long strings will actually be compressed by the system'?

Thanx.

Roy.




Re: confused on maximum characters

From
Peter Eisentraut
Date:
roypgsqlgen@xemaps.com writes:

> Looking at the docs Peter Eisentraut added this note at the bottom of the documentation for character data.
> ---
> The maximum value for "n" is 2147483648. The longest possible string is actually only about 1 GB, though. The storage
sizeof "(4+n)" is actually incorrect: char(n) really takes 4+n but varchar(n) and text take 4 plus the actual length of
thestored string. Long strings will actually be compressed by the system, though. 
> ---
>
> So does this mean I can specify very large varchar column types, like say varchar(1024)?

That's what that means.  (Although qualifying 1024 as very large is a
little out of proportion given the actual limits.)

> And what does he mean by 'Long strings will actually be compressed by the system'?

The system will compress long strings, so they don't take as much space on
disk.

--
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter