Re: custom function for converting human readable sizes to bytes

Pavel Stehule <pavel.stehule@gmail.com>

From: Pavel Stehule <pavel.stehule@gmail.com>
To: "Shulgin, Oleksandr" <oleksandr.shulgin@zalando.de>
Cc: Robert Haas <robertmhaas@gmail.com>, Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>, Alvaro Herrera <alvherre@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>, Jim Nasby <Jim.Nasby@bluetreble.com>, Corey Huinker <corey.huinker@gmail.com>, Guillaume Lelarge <guillaume@lelarge.info>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2015-12-29T18:15:41Z
Lists: pgsql-hackers
Hi


>>> -1 from me.  I don't think we should muck with the way pg_size_pretty
>>> works.
>>>
>>
>> new update - I reverted changes in pg_size_pretty
>>
>
> Hi,
>
> I didn't check out earlier versions of this patch, but the latest one
> still changes pg_size_pretty() to emit PB suffix.
>
> I don't think it is worth it to throw a number of changes together like
> that.  We should focus on adding pg_size_bytes() first and make it
> compatible with both pg_size_pretty() and existing GUC units: that is
> support suffixes up to TB and make sure they have the meaning of powers of
> 2^10, not 10^3.  Re-using the table present in guc.c would be a plus.
>
> Next, we could think about adding handling of PB suffix on input and
> output, but I don't see a big problem if that is emitted as 1024TB or the
> user has to specify it as 1024TB in a GUC or argument to pg_size_bytes():
> an minor inconvenience only.
>

Last version still support BP in pg_size_pretty. It isn't big change. PB
isn't issue.

We have to do significant decision - should to support SI units in
pg_size_bytes? We cannot to change it later. There is disagreement for SI
units in pg_size_pretty, so SI units in pg_size_bytes can be inconsistent.

Regards

Pavel


>
> --
> Alex
>
>

Commits

  1. Add pg_size_bytes() to parse human-readable size strings.

  2. Refactor check_functional_grouping() to use get_primary_key_attnos().

  3. Correct comment in GetConflictingVirtualXIDs()

  4. Make extract() do something more reasonable with infinite datetimes.

  5. pg_size_pretty: Format negative values similar to positive ones.

  6. pg_size_pretty(numeric)