confused on maximum characters

Started by Nonameover 24 years ago2 messagesgeneral
Jump to latest
#1Noname
roypgsqlgen@xemaps.com

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 size of "(4+n)" is actually incorrect: char(n) really takes 4+n but varchar(n) and text take 4 plus the actual length of the stored 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.

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Noname (#1)
Re: confused on maximum characters

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 size of "(4+n)" is actually incorrect: char(n) really takes 4+n but varchar(n) and text take 4 plus the actual length of the stored 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