Dear Hackers, A gin index created on an initially empty table will never get used until the table is vacuumed, which for a table with no update or delete activity could be forever unless someone manually intervenes.
The problem is that numEntries in src/backend/utils/adt/selfuncs.c is zero and eventually causes a division by zero and a cost estimate of nan. The code below does not save the day, because nTotalPages and nEntryPages are 2 and 1 respectively when an index is created on an empty table, or when an indexed table is truncated. if (ginStats.nTotalPages == 0 || ginStats.nEntryPages == 0) { numEntryPages = numPages; numDataPages = 0; numEntries = numTuples; /* bogus, but no other info available */ } I don't know what the solution is. Simply setting numEntries to 1 if ginStats.nEntries zero solves this particular problem, but I don't know what other consequences it might have. Cheers, Jeff -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers