Index: src/backend/postmaster/autovacuum.c =================================================================== --- src/backend/postmaster/autovacuum.c (HEAD) +++ src/backend/postmaster/autovacuum.c (autovacuum_naptime_overflow) @@ -502,7 +502,15 @@ INVALID_OFFSET, false); /* Sleep for a while according to schedule */ - pg_usleep(micros); + while (micros >= 10000000L) + { + if (got_SIGHUP || avlauncher_shutdown_request) + break; + pg_usleep(10000000L); + micros -= 10000000L; + } + if (!(got_SIGHUP || avlauncher_shutdown_request)) + pg_usleep(micros); /* the normal shutdown case */ if (avlauncher_shutdown_request) @@ -709,7 +717,7 @@ usecs = 100000; /* 100 ms */ } - return secs * 1000000 + usecs; + return (uint64) secs * 1000000 + usecs; } /* Index: src/backend/utils/misc/guc.c =================================================================== --- src/backend/utils/misc/guc.c (HEAD) +++ src/backend/utils/misc/guc.c (autovacuum_naptime_overflow) @@ -1645,7 +1645,7 @@ GUC_UNIT_S }, &autovacuum_naptime, - 60, 1, INT_MAX, NULL, NULL + 60, 1, INT_MAX / 1000, NULL, NULL }, { {"autovacuum_vacuum_threshold", PGC_SIGHUP, AUTOVACUUM,