Re: vacuum, dead rows, usual solutions didn't help
От | Lars Heidieker |
---|---|
Тема | Re: vacuum, dead rows, usual solutions didn't help |
Дата | |
Msg-id | 14573F45-4B72-43DD-884F-A704A2A73C38@heidieker.de обсуждение исходный текст |
Ответ на | Re: vacuum, dead rows, usual solutions didn't help (Gábor Farkas <gabor@nekomancer.net>) |
Список | pgsql-general |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10 Jan 2008, at 11:18, Gábor Farkas wrote: > Simon Riggs wrote: >>> also, even if it is wrong, can an 'idle-in-transaction' >>> connection that was opened today block the vacuuming of rows that >>> were deleted yesterday? >> Yes, if the rows were deleted after the connection started. > > to avoid any potential misunderstandings, i will summarize the > situation: > > 1. the vacuum-cronjob refuses to remove dead rows since 1.jan.2008. > > 2. i know that no postgres-process is older than 7.jan.2008. (from > "ps aux | grep postgres", and except the postgres-system-processes) > > how can this happen? > > To my understanding the question how old the processes are is only partially of interest, if a process touches those rows in a transaction just before the vacuum runs, it can't remove those rows. So all you need to get in this situation is a transaction that touches the rows in a transaction and keeps the transaction alive before vacuum runs. - -- Viele Grüße, Lars Heidieker lars@heidieker.de http://paradoxon.info - ------------------------------------ Mystische Erklärungen: Die mystischen Erklärungen gelten für tief; die Wahrheit ist, dass sie noch nicht einmal oberflächlich sind. -- Friedrich Nietzsche [ Die Fröhliche Wissenschaft Buch 3, 126 ] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin) iD8DBQFHhfwXcxuYqjT7GRYRAoKcAKCZgW/RI9rWN0/Gkd+c7F3T4WmV0gCg4Y6p VBxOBw50HJYsHBPFUjuaPa4= =8d+w -----END PGP SIGNATURE-----
В списке pgsql-general по дате отправления: