diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 58fe550d0d0..b279be73e60 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -1788,13 +1788,23 @@ repeat('Pg', 4) PgPgPgPg
which operand falls in a histogram
having count equal-width buckets spanning the
range low to high.
- Returns 0
+ The buckets have inclusive lower bounds and exclusive upper bounds.
+ Returns 0 for an input less
+ than low,
or count+1 for an input
- outside that range.
+ greater than or equal to high.
+ If low > high,
+ the behavior is mirror-reversed, with bucket 1
+ now being the one just below low, and the
+ inclusive bounds now being on the upper side.
width_bucket(5.35, 0.024, 10.06, 5)
3
+
+
+ width_bucket(9, 10, 0, 10)
+ 2
@@ -1806,8 +1816,8 @@ repeat('Pg', 4) PgPgPgPg
Returns the number of the bucket in
which operand falls given an array listing the
- lower bounds of the buckets. Returns 0 for an
- input less than the first lower
+ inclusive lower bounds of the buckets.
+ Returns 0 for an input less than the first lower
bound. operand and the array elements can be
of any type having standard comparison operators.
The thresholds array must be
diff --git a/src/backend/utils/adt/float.c b/src/backend/utils/adt/float.c
index 6a717f19bba..896915aed32 100644
--- a/src/backend/utils/adt/float.c
+++ b/src/backend/utils/adt/float.c
@@ -3918,8 +3918,8 @@ float84ge(PG_FUNCTION_ARGS)
* in the histogram. width_bucket() returns an integer indicating the
* bucket number that 'operand' belongs to in an equiwidth histogram
* with the specified characteristics. An operand smaller than the
- * lower bound is assigned to bucket 0. An operand greater than the
- * upper bound is assigned to an additional bucket (with number
+ * lower bound is assigned to bucket 0. An operand greater than or equal
+ * to the upper bound is assigned to an additional bucket (with number
* count+1). We don't allow "NaN" for any of the float8 inputs, and we
* don't allow either of the histogram bounds to be +/- infinity.
*/
diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c
index e222308ed60..eb2541f8ed1 100644
--- a/src/backend/utils/adt/numeric.c
+++ b/src/backend/utils/adt/numeric.c
@@ -1495,9 +1495,9 @@ generate_series_step_numeric(PG_FUNCTION_ARGS)
* in the histogram. width_bucket() returns an integer indicating the
* bucket number that 'operand' belongs to in an equiwidth histogram
* with the specified characteristics. An operand smaller than the
- * lower bound is assigned to bucket 0. An operand greater than the
- * upper bound is assigned to an additional bucket (with number
- * count+1). We don't allow "NaN" for any of the numeric arguments.
+ * lower bound is assigned to bucket 0. An operand greater than or equal
+ * to the upper bound is assigned to an additional bucket (with number
+ * count+1). We don't allow "NaN" for any of the numeric inputs.
*/
Datum
width_bucket_numeric(PG_FUNCTION_ARGS)