dbsize.out 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. -- pg_size_bytes() tests
  2. SELECT size, pg_size_bytes(size) FROM
  3. (VALUES ('1'), ('123bytes'), ('1kB'), ('1MB'), (' 1 GB'), ('1.5 GB '),
  4. ('1TB'), ('3000 TB'), ('1e6 MB')) x(size);
  5. size | pg_size_bytes
  6. ----------+------------------
  7. 1 | 1
  8. 123bytes | 123
  9. 1kB | 1024
  10. 1MB | 1048576
  11. 1 GB | 1073741824
  12. 1.5 GB | 1610612736
  13. 1TB | 1099511627776
  14. 3000 TB | 3298534883328000
  15. 1e6 MB | 1048576000000
  16. (9 rows)
  17. -- case-insensitive units are supported
  18. SELECT size, pg_size_bytes(size) FROM
  19. (VALUES ('1'), ('123bYteS'), ('1kb'), ('1mb'), (' 1 Gb'), ('1.5 gB '),
  20. ('1tb'), ('3000 tb'), ('1e6 mb')) x(size);
  21. size | pg_size_bytes
  22. ----------+------------------
  23. 1 | 1
  24. 123bYteS | 123
  25. 1kb | 1024
  26. 1mb | 1048576
  27. 1 Gb | 1073741824
  28. 1.5 gB | 1610612736
  29. 1tb | 1099511627776
  30. 3000 tb | 3298534883328000
  31. 1e6 mb | 1048576000000
  32. (9 rows)
  33. -- negative numbers are supported
  34. SELECT size, pg_size_bytes(size) FROM
  35. (VALUES ('-1'), ('-123bytes'), ('-1kb'), ('-1mb'), (' -1 Gb'), ('-1.5 gB '),
  36. ('-1tb'), ('-3000 TB'), ('-10e-1 MB')) x(size);
  37. size | pg_size_bytes
  38. -----------+-------------------
  39. -1 | -1
  40. -123bytes | -123
  41. -1kb | -1024
  42. -1mb | -1048576
  43. -1 Gb | -1073741824
  44. -1.5 gB | -1610612736
  45. -1tb | -1099511627776
  46. -3000 TB | -3298534883328000
  47. -10e-1 MB | -1048576
  48. (9 rows)
  49. -- different cases with allowed points
  50. SELECT size, pg_size_bytes(size) FROM
  51. (VALUES ('-1.'), ('-1.kb'), ('-1. kb'), ('-0. gb'),
  52. ('-.1'), ('-.1kb'), ('-.1 kb'), ('-.0 gb')) x(size);
  53. size | pg_size_bytes
  54. --------+---------------
  55. -1. | -1
  56. -1.kb | -1024
  57. -1. kb | -1024
  58. -0. gb | 0
  59. -.1 | 0
  60. -.1kb | -102
  61. -.1 kb | -102
  62. -.0 gb | 0
  63. (8 rows)
  64. -- invalid inputs
  65. SELECT pg_size_bytes('1 AB');
  66. ERROR: invalid size: "1 AB"
  67. DETAIL: Invalid size unit: "AB".
  68. HINT: Valid units are "bytes", "kB", "MB", "GB", and "TB".
  69. SELECT pg_size_bytes('1 AB A');
  70. ERROR: invalid size: "1 AB A"
  71. DETAIL: Invalid size unit: "AB A".
  72. HINT: Valid units are "bytes", "kB", "MB", "GB", and "TB".
  73. SELECT pg_size_bytes('1 AB A ');
  74. ERROR: invalid size: "1 AB A "
  75. DETAIL: Invalid size unit: "AB A".
  76. HINT: Valid units are "bytes", "kB", "MB", "GB", and "TB".
  77. SELECT pg_size_bytes('9223372036854775807.9');
  78. ERROR: bigint out of range
  79. SELECT pg_size_bytes('1e100');
  80. ERROR: bigint out of range
  81. SELECT pg_size_bytes('1e1000000000000000000');
  82. ERROR: value overflows numeric format
  83. SELECT pg_size_bytes('1 byte'); -- the singular "byte" is not supported
  84. ERROR: invalid size: "1 byte"
  85. DETAIL: Invalid size unit: "byte".
  86. HINT: Valid units are "bytes", "kB", "MB", "GB", and "TB".
  87. SELECT pg_size_bytes('');
  88. ERROR: invalid size: ""
  89. SELECT pg_size_bytes('kb');
  90. ERROR: invalid size: "kb"
  91. SELECT pg_size_bytes('..');
  92. ERROR: invalid size: ".."
  93. SELECT pg_size_bytes('-.');
  94. ERROR: invalid size: "-."
  95. SELECT pg_size_bytes('-.kb');
  96. ERROR: invalid size: "-.kb"
  97. SELECT pg_size_bytes('-. kb');
  98. ERROR: invalid size: "-. kb"
  99. SELECT pg_size_bytes('.+912');
  100. ERROR: invalid size: ".+912"
  101. SELECT pg_size_bytes('+912+ kB');
  102. ERROR: invalid size: "+912+ kB"
  103. DETAIL: Invalid size unit: "+ kB".
  104. HINT: Valid units are "bytes", "kB", "MB", "GB", and "TB".
  105. SELECT pg_size_bytes('++123 kB');
  106. ERROR: invalid size: "++123 kB"