Re: feature request - datum_compute_size and datum write_should be public
От | Tom Lane |
---|---|
Тема | Re: feature request - datum_compute_size and datum write_should be public |
Дата | |
Msg-id | 14896.1328152276@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: feature request - datum_compute_size and datum write_should be public (Alvaro Herrera <alvherre@commandprompt.com>) |
Список | pgsql-hackers |
Alvaro Herrera <alvherre@commandprompt.com> writes: > Excerpts from Jim Nasby's message of mié feb 01 20:47:05 -0300 2012: >> I'm not certain this in what Pavel is referring to, but I have often wished that I could pass something like an arrayinto a function and have the function tell me exactly how much space that would require on-disk. It's pretty easy tofigure that out for things like varchar and numeric, but doing so for arrays or composite types requires pretty detailedknowledge of PG internals. > I think you can just use pg_column_size on a composite datum (such as a > ROW() construct) and it will give you the right number. If it's a freshly-computed value, pg_column_size will give you the size of the "raw" datum. The actual size on disk might be less due to compression, but I don't think we give you any way to find that out short of actually storing it in a table. Note that the rangetype internal functions Pavel suggests we should expose won't give you the latter either. regards, tom lane
В списке pgsql-hackers по дате отправления: