1SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM 2 (VALUES (10::bigint), (1000::bigint), (1000000::bigint), 3 (1000000000::bigint), (1000000000000::bigint), 4 (1000000000000000::bigint)) x(size); 5 6SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM 7 (VALUES (10::numeric), (1000::numeric), (1000000::numeric), 8 (1000000000::numeric), (1000000000000::numeric), 9 (1000000000000000::numeric), 10 (10.5::numeric), (1000.5::numeric), (1000000.5::numeric), 11 (1000000000.5::numeric), (1000000000000.5::numeric), 12 (1000000000000000.5::numeric)) x(size); 13 14SELECT size, pg_size_bytes(size) FROM 15 (VALUES ('1'), ('123bytes'), ('1kB'), ('1MB'), (' 1 GB'), ('1.5 GB '), 16 ('1TB'), ('3000 TB'), ('1e6 MB')) x(size); 17 18-- case-insensitive units are supported 19SELECT size, pg_size_bytes(size) FROM 20 (VALUES ('1'), ('123bYteS'), ('1kb'), ('1mb'), (' 1 Gb'), ('1.5 gB '), 21 ('1tb'), ('3000 tb'), ('1e6 mb')) x(size); 22 23-- negative numbers are supported 24SELECT size, pg_size_bytes(size) FROM 25 (VALUES ('-1'), ('-123bytes'), ('-1kb'), ('-1mb'), (' -1 Gb'), ('-1.5 gB '), 26 ('-1tb'), ('-3000 TB'), ('-10e-1 MB')) x(size); 27 28-- different cases with allowed points 29SELECT size, pg_size_bytes(size) FROM 30 (VALUES ('-1.'), ('-1.kb'), ('-1. kb'), ('-0. gb'), 31 ('-.1'), ('-.1kb'), ('-.1 kb'), ('-.0 gb')) x(size); 32 33-- invalid inputs 34SELECT pg_size_bytes('1 AB'); 35SELECT pg_size_bytes('1 AB A'); 36SELECT pg_size_bytes('1 AB A '); 37SELECT pg_size_bytes('9223372036854775807.9'); 38SELECT pg_size_bytes('1e100'); 39SELECT pg_size_bytes('1e1000000000000000000'); 40SELECT pg_size_bytes('1 byte'); -- the singular "byte" is not supported 41SELECT pg_size_bytes(''); 42 43SELECT pg_size_bytes('kb'); 44SELECT pg_size_bytes('..'); 45SELECT pg_size_bytes('-.'); 46SELECT pg_size_bytes('-.kb'); 47SELECT pg_size_bytes('-. kb'); 48 49SELECT pg_size_bytes('.+912'); 50SELECT pg_size_bytes('+912+ kB'); 51SELECT pg_size_bytes('++123 kB'); 52