diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c index 4d800f8a007980dbac1d221d48f0fa8b0e30db66..fa8cecafcbe5b4bef44d12549a35f7e27c838c3c 100644 --- a/src/backend/utils/adt/selfuncs.c +++ b/src/backend/utils/adt/selfuncs.c @@ -6458,6 +6458,10 @@ gincostestimate(PG_FUNCTION_ARGS) numDataPages = Min(numDataPages, numPages - numEntryPages); } + /* In an empty index, numEntries could be zero. Avoid divide-by-zero */ + if (numEntries < 1) + numEntries = 1; + /* * Include predicate in selectivityQuals (should match * genericcostestimate)