Thread: Large strings

Large strings

From
Nelson Ferreira Junior
Date:
   Hi,
  I have a JDBC aplication that actualy works with Oracle and I am
porting it PostgreSQL. The trouble is that I have some rows with type
"LONG" (in Oracle) where are stored strings with up to 20Kb and
PostgreSQL doesn't hava this type and seems to be impossible to store
strings larger than 8Kb with the types "TEXT" or "VARCHAR".  What can I do ?!?!
                                                   thanks.





Re: Large strings

From
Nelson Ferreira Junior
Date:
Nelson Ferreira Junior wrote:

>    Hi,
>
>    I have a JDBC aplication that actualy works with Oracle and I am
> porting it PostgreSQL. The trouble is that I have some rows with type
> "LONG" (in Oracle) where are stored strings with up to 20Kb and
> PostgreSQL doesn't hava this type and seems to be impossible to store
> strings larger than 8Kb with the types "TEXT" or "VARCHAR".
>    What can I do ?!?!
>
>                                                     thanks.
      Now I read something about changing the BLOCK SIZE to a higher
value and recompiling the backend. But it will require more disk space to
store the data, isn't it?  How much disk space will I need if a chage the
block size to 32K? Will it decrease performance or confiability ?       Before you suggest me to use BLOBs to store
theselarge strings,
 
I'd say that I cannot change my aplication in that way.

                                                            Thanks
again.





RE: Large strings

From
Peter Mount
Date:
The generic answer for storing anything larger than the page size is to
use large objects. Set the columns type to oid, and use the setBytes()
method to insert the strings. To retrieve, you can use either the
getBytes() or getBlob() methods.

Peter

-- 
Peter Mount
Enterprise Support
Maidstone Borough Council
Any views stated are my own, and not those of Maidstone Borough Council.



-----Original Message-----
From: Nelson Ferreira Junior [mailto:nelson@radix.com.br]
Sent: Monday, April 17, 2000 9:10 PM
To: pgsql-interfaces@postgresql.org
Subject: [INTERFACES] Large strings

  Hi,
  I have a JDBC aplication that actualy works with Oracle and I am
porting it PostgreSQL. The trouble is that I have some rows with type
"LONG" (in Oracle) where are stored strings with up to 20Kb and
PostgreSQL doesn't hava this type and seems to be impossible to store
strings larger than 8Kb with the types "TEXT" or "VARCHAR".  What can I do ?!?!
                                                   thanks.




RE: Large strings

From
Peter Mount
Date:
The page size is only really the size of disk allocated each time. You
can get many rows into a page.

As you said you can't use LO's, perhaps the page size is your only
chance (although I'm not sure if the text/varchar types are hardcoded to
a max 4k anyhow.

Peter

-- 
Peter Mount
Enterprise Support
Maidstone Borough Council
Any views stated are my own, and not those of Maidstone Borough Council.



-----Original Message-----
From: Nelson Ferreira Junior [mailto:nelson@radix.com.br]
Sent: Monday, April 17, 2000 10:31 PM
To: pgsql-interfaces@postgresql.org
Subject: Re: [INTERFACES] Large strings


Nelson Ferreira Junior wrote:

>    Hi,
>
>    I have a JDBC aplication that actualy works with Oracle and I am
> porting it PostgreSQL. The trouble is that I have some rows with type
> "LONG" (in Oracle) where are stored strings with up to 20Kb and
> PostgreSQL doesn't hava this type and seems to be impossible to store
> strings larger than 8Kb with the types "TEXT" or "VARCHAR".
>    What can I do ?!?!
>
>                                                     thanks.
      Now I read something about changing the BLOCK SIZE to a higher
value and recompiling the backend. But it will require more disk space
to
store the data, isn't it?  How much disk space will I need if a chage
the
block size to 32K? Will it decrease performance or confiability ?       Before you suggest me to use BLOBs to store
theselarge strings,
 
I'd say that I cannot change my aplication in that way.

                                                            Thanks
again.




Re: Large strings

From
Nelson Ferreira Junior
Date:
     I reinstalled Postgre with page size set to 32K, but it still doesn't
work. I got the following errors. Is it complaining abou the size of the
query itself ?

* Java program (even using a prepared statement)    SQLException: The SQL Statement is too long
* Puting the query in a file and calling with psql -f :    ERROR:  Tuple is too big: size 11424, max size 8140
                                                            Thanks


Peter Mount wrote:

> The page size is only really the size of disk allocated each time. You
> can get many rows into a page.
>
> As you said you can't use LO's, perhaps the page size is your only
> chance (although I'm not sure if the text/varchar types are hardcoded to
> a max 4k anyhow.
>
> Peter
>
> --
> Peter Mount
> Enterprise Support
> Maidstone Borough Council
> Any views stated are my own, and not those of Maidstone Borough Council.
>
> -----Original Message-----
> From: Nelson Ferreira Junior [mailto:nelson@radix.com.br]
> Sent: Monday, April 17, 2000 10:31 PM
> To: pgsql-interfaces@postgresql.org
> Subject: Re: [INTERFACES] Large strings
>
> Nelson Ferreira Junior wrote:
>
> >    Hi,
> >
> >    I have a JDBC aplication that actualy works with Oracle and I am
> > porting it PostgreSQL. The trouble is that I have some rows with type
> > "LONG" (in Oracle) where are stored strings with up to 20Kb and
> > PostgreSQL doesn't hava this type and seems to be impossible to store
> > strings larger than 8Kb with the types "TEXT" or "VARCHAR".
> >    What can I do ?!?!
> >
> >                                                     thanks.
>
>        Now I read something about changing the BLOCK SIZE to a higher
> value and recompiling the backend. But it will require more disk space
> to
> store the data, isn't it?  How much disk space will I need if a chage
> the
> block size to 32K? Will it decrease performance or confiability ?
>         Before you suggest me to use BLOBs to store these large strings,
> I'd say that I cannot change my aplication in that way.
>
>                                                              Thanks
> again.



Re: Large strings

From
John David Garza
Date:
Hello,

If your strings are much larger than the limit, it might be more efficient
to store the string in it's own file and just store the location of that
file in the db.

John David Garza
garza@keyframe.cjas.org

On Wed, 19 Apr 2000, Nelson Ferreira Junior wrote:

>      I reinstalled Postgre with page size set to 32K, but it still doesn't
> work. I got the following errors. Is it complaining abou the size of the
> query itself ?
> 
> * Java program (even using a prepared statement)
>      SQLException: The SQL Statement is too long
> * Puting the query in a file and calling with psql -f :
>      ERROR:  Tuple is too big: size 11424, max size 8140
> 
>                                                              Thanks
> 
>