Hello,

I'm doing the test in PGAdmin.

Must be a bug in PGAdmim.

I'm sorry I have not tested in psql

create table txt (val text);
txt insert into values ​​(repeat ('x', 4500));
char_length select (val) from txt;
txt insert into values ​​(repeat ('x', 4685));
char_length select (val) from txt;

select *, length (val) val is null, (val ~ 'x') from txt;

Thank you.
Claudio Oliveira 
http://www.msisolucoes.com.br

> From: br...@momjian.us
> Subject: Re: [BUGS] BUG #6177: Size field type TEXT
> To: kevin.gritt...@wicourts.gov
> Date: Thu, 25 Aug 2011 13:20:22 -0400
> CC: claudio...@hotmail.com; pgsql-bugs@postgresql.org
> 
> Kevin Grittner wrote:
> > "Claudio Oliveira" <claudio...@hotmail.com> wrote:
> >  
> > > Use version 8.4 and have no issues with the field type TEXT.
> > > 
> > > In version 9.1rc1 is limited to 4680 characters.
> > > 
> > > Where do I change that size?
> >  
> > test=# create table txt (val text);
> > CREATE TABLE
> > test=# insert into txt values (repeat('long string', 1000000));
> > INSERT 0 1
> > test=# select char_length(val) from txt;
> >  char_length
> > -------------
> >     11000000
> > (1 row)
> >  
> > What makes you think it's limited to 4680 characters?
> 
> My guess is there is an index on the column:
> 
>       test=> create table txt (val text);
>       CREATE TABLE
>       test=> create index i_txt on txt(val);
>       CREATE INDEX
>       test=> insert into txt values (repeat('long string', 1000000));
>       ERROR:  index row requires 125944 bytes, maximum size is 8191
> 
> You should probably not index long columns but rather index an md5 hash
> of the value.
> 
> -- 
>   Bruce Momjian  <br...@momjian.us>        http://momjian.us
>   EnterpriseDB                             http://enterprisedb.com
> 
>   + It's impossible for everything to be true. +
                                          

Reply via email to