123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM
- (VALUES (10::bigint), (1000::bigint), (1000000::bigint),
- (1000000000::bigint), (1000000000000::bigint),
- (1000000000000000::bigint)) x(size);
- size | pg_size_pretty | pg_size_pretty
- ------------------+----------------+----------------
- 10 | 10 bytes | -10 bytes
- 1000 | 1000 bytes | -1000 bytes
- 1000000 | 977 kB | -977 kB
- 1000000000 | 954 MB | -954 MB
- 1000000000000 | 931 GB | -931 GB
- 1000000000000000 | 909 TB | -909 TB
- (6 rows)
- SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM
- (VALUES (10::numeric), (1000::numeric), (1000000::numeric),
- (1000000000::numeric), (1000000000000::numeric),
- (1000000000000000::numeric),
- (10.5::numeric), (1000.5::numeric), (1000000.5::numeric),
- (1000000000.5::numeric), (1000000000000.5::numeric),
- (1000000000000000.5::numeric)) x(size);
- size | pg_size_pretty | pg_size_pretty
- --------------------+----------------+----------------
- 10 | 10 bytes | -10 bytes
- 1000 | 1000 bytes | -1000 bytes
- 1000000 | 977 kB | -977 kB
- 1000000000 | 954 MB | -954 MB
- 1000000000000 | 931 GB | -931 GB
- 1000000000000000 | 909 TB | -909 TB
- 10.5 | 10.5 bytes | -10.5 bytes
- 1000.5 | 1000.5 bytes | -1000.5 bytes
- 1000000.5 | 977 kB | -977 kB
- 1000000000.5 | 954 MB | -954 MB
- 1000000000000.5 | 931 GB | -931 GB
- 1000000000000000.5 | 909 TB | -909 TB
- (12 rows)
- -- test where units change up
- SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM
- (VALUES (10239::bigint), (10240::bigint),
- (10485247::bigint), (10485248::bigint),
- (10736893951::bigint), (10736893952::bigint),
- (10994579406847::bigint), (10994579406848::bigint),
- (11258449312612351::bigint), (11258449312612352::bigint)) x(size);
- size | pg_size_pretty | pg_size_pretty
- -------------------+----------------+----------------
- 10239 | 10239 bytes | -10239 bytes
- 10240 | 10 kB | -10 kB
- 10485247 | 10239 kB | -10239 kB
- 10485248 | 10 MB | -10 MB
- 10736893951 | 10239 MB | -10239 MB
- 10736893952 | 10 GB | -10 GB
- 10994579406847 | 10239 GB | -10239 GB
- 10994579406848 | 10 TB | -10 TB
- 11258449312612351 | 10239 TB | -10239 TB
- 11258449312612352 | 10240 TB | -10240 TB
- (10 rows)
- SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM
- (VALUES (10239::numeric), (10240::numeric),
- (10485247::numeric), (10485248::numeric),
- (10736893951::numeric), (10736893952::numeric),
- (10994579406847::numeric), (10994579406848::numeric),
- (11258449312612351::numeric), (11258449312612352::numeric)) x(size);
- size | pg_size_pretty | pg_size_pretty
- -------------------+----------------+----------------
- 10239 | 10239 bytes | -10239 bytes
- 10240 | 10 kB | -10 kB
- 10485247 | 10239 kB | -10239 kB
- 10485248 | 10 MB | -10 MB
- 10736893951 | 10239 MB | -10239 MB
- 10736893952 | 10 GB | -10 GB
- 10994579406847 | 10239 GB | -10239 GB
- 10994579406848 | 10 TB | -10 TB
- 11258449312612351 | 10239 TB | -10239 TB
- 11258449312612352 | 10240 TB | -10240 TB
- (10 rows)
- -- pg_size_bytes() tests
- SELECT size, pg_size_bytes(size) FROM
- (VALUES ('1'), ('123bytes'), ('1kB'), ('1MB'), (' 1 GB'), ('1.5 GB '),
- ('1TB'), ('3000 TB'), ('1e6 MB')) x(size);
- size | pg_size_bytes
- ----------+------------------
- 1 | 1
- 123bytes | 123
- 1kB | 1024
- 1MB | 1048576
- 1 GB | 1073741824
- 1.5 GB | 1610612736
- 1TB | 1099511627776
- 3000 TB | 3298534883328000
- 1e6 MB | 1048576000000
- (9 rows)
- -- case-insensitive units are supported
- SELECT size, pg_size_bytes(size) FROM
- (VALUES ('1'), ('123bYteS'), ('1kb'), ('1mb'), (' 1 Gb'), ('1.5 gB '),
- ('1tb'), ('3000 tb'), ('1e6 mb')) x(size);
- size | pg_size_bytes
- ----------+------------------
- 1 | 1
- 123bYteS | 123
- 1kb | 1024
- 1mb | 1048576
- 1 Gb | 1073741824
- 1.5 gB | 1610612736
- 1tb | 1099511627776
- 3000 tb | 3298534883328000
- 1e6 mb | 1048576000000
- (9 rows)
- -- negative numbers are supported
- SELECT size, pg_size_bytes(size) FROM
- (VALUES ('-1'), ('-123bytes'), ('-1kb'), ('-1mb'), (' -1 Gb'), ('-1.5 gB '),
- ('-1tb'), ('-3000 TB'), ('-10e-1 MB')) x(size);
- size | pg_size_bytes
- -----------+-------------------
- -1 | -1
- -123bytes | -123
- -1kb | -1024
- -1mb | -1048576
- -1 Gb | -1073741824
- -1.5 gB | -1610612736
- -1tb | -1099511627776
- -3000 TB | -3298534883328000
- -10e-1 MB | -1048576
- (9 rows)
- -- different cases with allowed points
- SELECT size, pg_size_bytes(size) FROM
- (VALUES ('-1.'), ('-1.kb'), ('-1. kb'), ('-0. gb'),
- ('-.1'), ('-.1kb'), ('-.1 kb'), ('-.0 gb')) x(size);
- size | pg_size_bytes
- --------+---------------
- -1. | -1
- -1.kb | -1024
- -1. kb | -1024
- -0. gb | 0
- -.1 | 0
- -.1kb | -102
- -.1 kb | -102
- -.0 gb | 0
- (8 rows)
- -- invalid inputs
- SELECT pg_size_bytes('1 AB');
- ERROR: invalid size: "1 AB"
- DETAIL: Invalid size unit: "AB".
- HINT: Valid units are "bytes", "kB", "MB", "GB", and "TB".
- SELECT pg_size_bytes('1 AB A');
- ERROR: invalid size: "1 AB A"
- DETAIL: Invalid size unit: "AB A".
- HINT: Valid units are "bytes", "kB", "MB", "GB", and "TB".
- SELECT pg_size_bytes('1 AB A ');
- ERROR: invalid size: "1 AB A "
- DETAIL: Invalid size unit: "AB A".
- HINT: Valid units are "bytes", "kB", "MB", "GB", and "TB".
- SELECT pg_size_bytes('9223372036854775807.9');
- ERROR: bigint out of range
- SELECT pg_size_bytes('1e100');
- ERROR: bigint out of range
- SELECT pg_size_bytes('1e1000000000000000000');
- ERROR: value overflows numeric format
- SELECT pg_size_bytes('1 byte'); -- the singular "byte" is not supported
- ERROR: invalid size: "1 byte"
- DETAIL: Invalid size unit: "byte".
- HINT: Valid units are "bytes", "kB", "MB", "GB", and "TB".
- SELECT pg_size_bytes('');
- ERROR: invalid size: ""
- SELECT pg_size_bytes('kb');
- ERROR: invalid size: "kb"
- SELECT pg_size_bytes('..');
- ERROR: invalid size: ".."
- SELECT pg_size_bytes('-.');
- ERROR: invalid size: "-."
- SELECT pg_size_bytes('-.kb');
- ERROR: invalid size: "-.kb"
- SELECT pg_size_bytes('-. kb');
- ERROR: invalid size: "-. kb"
- SELECT pg_size_bytes('.+912');
- ERROR: invalid size: ".+912"
- SELECT pg_size_bytes('+912+ kB');
- ERROR: invalid size: "+912+ kB"
- DETAIL: Invalid size unit: "+ kB".
- HINT: Valid units are "bytes", "kB", "MB", "GB", and "TB".
- SELECT pg_size_bytes('++123 kB');
- ERROR: invalid size: "++123 kB"
|