I see lots of similar log message at a certain time in a day on Postgresql 9,.1:
LOG: process 18855 still waiting for ShareLock on transaction 2856146023 after 1001.209 ms
STATEMENT: UPDATE table1 SET time = $1 WHERE id = $2
The table1 size is 17 G.
What could be the reason for this lock contention?
autovacuum?
This may be a CREATE INDEX query taking some time, perhaps combined with an old prepared transaction still holding a lock? Perhaps a cron job running behind that you are not aware of?
You should have a look at pg_stat_activity, pg_prepared_xacts and pg_locks to get more information about the transactions running and the locks being taken.