Jakub Ouhrabka <kuba@xxxxxxxxxx> writes: > We've tried several times to get stacktrace from some of the running > backends during spikes, we got always this: > 0x00002b005d00a9a9 in semop () from /lib/libc.so.6 > #0 0x00002b005d00a9a9 in semop () from /lib/libc.so.6 > #1 0x000000000054fe53 in PGSemaphoreLock (sema=0x2b00a04e5090, > interruptOK=0 '\0') at pg_sema.c:411 > #2 0x0000000000575d95 in LWLockAcquire (lockid=SInvalLock, > mode=LW_EXCLUSIVE) at lwlock.c:455 > #3 0x000000000056fbfe in ReceiveSharedInvalidMessages > (invalFunction=0x5e9a30 <LocalExecuteInvalidationMessage>, > resetFunction=0x5e9df0 <InvalidateSystemCaches>) at sinval.c:159 > #4 0x0000000000463505 in StartTransactionCommand () at xact.c:1439 > #5 0x000000000056fa4b in ProcessCatchupEvent () at sinval.c:347 > #6 0x000000000056fb20 in CatchupInterruptHandler > (postgres_signal_arg=<value optimized out>) at sinval.c:221 CatchupInterruptHandler, eh? That seems to let NOTIFY off the hook, and instead points in the direction of sinval processing; which is to say, propagation of changes to system catalogs. Does your app create and destroy a tremendous number of temp tables, or anything else in the way of frequent DDL commands? regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings