This patch was almost done by the end of the previous CF(2016-01): there was few little flaws which are solved by now. I have reviewed this patch. It applies cleanly at the top of current master (f144f73242acef574bc27a4c70e809a64806e4a4), compiles silently and implements the behavior reached by consensus. All size units (the same as used in the GUC) are supported. In addition "bytes" is also supported that makes it be a inverse function for the pg_size_pretty[1].
The documentation describes behavior of the function and possible size units. I don't see what else needs to be said.
The code is clean and commented.
Regression tests cover possible use cases and corner cases.
Notes for a committer: 1. pg_proc.h has changed, so the CATALOG_VERSION_NO must also be changed. 2. Code comments, error message strings, DESCR in pg_proc.h and changes in the documentation need proof-reading by a native English speaker, which the Author and I are not.