Dennis Bjorklund kirjutas P, 26.10.2003 kell 07:30:
> On Sat, 25 Oct 2003, Joe Conway wrote:
> 
> > That will modify the bytea column so that it is stored uncompressed in 
> > the TOAST table.
> > 
> > Now, simply use substr() to grab any random chunk:
> > SELECT substr(foo_bytea, 20000, 100) from foo where foo_id = 42;
> 
> This would imply that every little read would have to do a scan on a table 
> to find the row and then to perform the substr. An open command can 
> be optimized a lot more, for example to cache entries that have been 
> opened so that it's fast to read the next 1kb or whatever you want.
> 
> Also, the above does not solve writes at all which can also be made 
> transaction safe and fast with a better api where you can update a part 
> of a field.

I brought it up once and Tom answered that TOAST tables are not
transaction aware, so you can't update just some parts of toasted
entities - you must always write the whole fields. So this will not be
just an api change.

> The above is not really a replacement of the current lo-objects.

True.

-------------
Hannu


---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to