Re: Plans for solving the VACUUM problem
От | Vadim Mikheev |
---|---|
Тема | Re: Plans for solving the VACUUM problem |
Дата | |
Msg-id | 002b01c0e19d$88af9fa0$4879583f@sectorbase.com обсуждение исходный текст |
Ответ на | RE: Plans for solving the VACUUM problem ("Mikheev, Vadim" <vmikheev@SECTORBASE.COM>) |
Список | pgsql-hackers |
> > Really?! Once again: WAL records give you *physical* address of tuples > > (both heap and index ones!) to be removed and size of log to read > > records from is not comparable with size of data files. > > You sure? With our current approach of dumping data pages into the WAL > on first change since checkpoint (and doing so again after each > checkpoint) it's not too difficult to devise scenarios where the WAL log > is *larger* than the affected datafiles ... and can't be truncated until > someone commits. Yes, but note mine "size of log to read records from" - each log record has pointer to previous record made by same transaction: rollback must not read entire log file to get all records of specific transaction. > >> Why not? Seems to me that establishing implicit savepoints is just a > >> user-interface issue; you can do it, or not do it, regardless of the > >> underlying mechanism. > > > Implicit savepoints are setted by server automatically before each > > query execution - you wouldn't use transaction IDs for this. > > If the user asked you to, I don't see why not. Example of one of implicit savepoint usage: skipping duplicate key insertion. Using transaction IDs when someone want to insert a few thousand records? Vadim
В списке pgsql-hackers по дате отправления: