Re: Question about todo item

Поиск
Список
Период
Сортировка
От Barry Lind
Тема Re: Question about todo item
Дата
Msg-id 3B7BF26A.7040704@xythos.com
обсуждение исходный текст
Ответ на Re: Question about todo item  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: Question about todo item  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-hackers
Can this be added to the TODO list? (actually put back on the TODO list) 
Along with this email thread?

I feel that it is very important to have BLOB support in postgres that 
is similar to what the commercial databases provide.  This could either 
mean fixing the current implementation or adding additional capabilities 
to toasted columns.

The major problem with the current LargeObject implementation is that 
when the row containing the LargeObject is deleted the LargeObject 
isn't.  This can be a useful feature under some circumstances, but it 
isn't how other databases handle BLOBs.  Thus porting code from other 
databases is a challenge.  While it is true that this can be worked 
around through triggers, I don't like the manual nature of the workarounds.

thanks,
--Barry

Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> 
>>>Offhand this seems like it would be doable for a column-value that
>>>was actually moved out-of-line by TOAST, since the open_toast_object
>>>function could see and return the TOAST pointer, and then the read/
>>>write operations just hack on rows in pg_largeobject.  The hard part
>>>
> 
>>I am confused how pg_largeobject is involved?
>>
> 
> s/pg_largeobject/toast_table_for_relation/ ... sorry about that ...
> 
> 
>>Don't forget compression of TOAST columns.  How do you fseek/read/write
>>in there?
>>
> 
> Well, you can *do* it, just don't expect it to be fast.  The
> implementation would have to read or write most of the value, not just
> the segment you wanted.  A person who actually expected to use this
> stuff would likely want to disable compression on a column he wanted
> random access within.
> 
> Hmm ... that provides an idea.  We could easily add some additional
> 'attstorage' settings that say *all* values of a column must be forced
> out-of-line (with or without allowing compression), regardless of size.
> Then, open_toast_object would work reliably on such a column.  One
> possible user API to such an infrastructure is to invent BLOB and CLOB
> datatypes, which are just like bytea and text except that they force the
> appropriate attstorage value.  Ugly as sin, ain't it ... but I bet it
> could be made to work.
> 
> Okay, there's your idea.  Now, who can do better?
> 
>             regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
> 
> http://www.postgresql.org/search.mpl
> 
> 




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Justin Clift
Дата:
Сообщение: Re: [GENERAL] PostgreSQL buffer exploits
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Patches (current CVS) for changes if index AM tables