This is a discussion on Autovacuum and OldestXmin within the pgsql Hackers forums, part of the PostgreSQL category; --> On Fri, 2007-11-23 at 01:14 -0500, Tom Lane wrote: > Simon Riggs <simon@2ndquadrant.com> writes: > > That's a killer ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| On Fri, 2007-11-23 at 01:14 -0500, Tom Lane wrote: > Simon Riggs <simon@2ndquadrant.com> writes: > > That's a killer reason, I suppose. I was really trying to uncover what > > the thinking was, so we can document it. Having VACUUM ignore it > > completely seems wrong. > > What you seem to be forgetting is that VACUUM is charged with cleaning > out LP_DEAD tuples, which HOT cannot do. And the page header fields are > set (quite properly so) with HOT's interests in mind not VACUUM's. OK, thanks. Me getting confused about HOT might cause a few chuckles and it does with me also. You didn't sit through the months of detailed discussions of all the many possible ways of doing it (granted all were flawed in some respect), so I figure I will need to forget those before I understand the one exact way of doing it that has been committed. Anyway, thanks for keeping me on track and (again) kudos to Pavan and team. -- Simon Riggs 2ndQuadrant http://www.2ndQuadrant.com ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend |
| |||
| On Thu, 2007-11-22 at 21:59 -0500, Christopher Browne wrote: > The world rejoiced as alvherre@alvh.no-ip.org (Alvaro Herrera) wrote: > > Simon Riggs wrote: > >> I notice that slony records the oldestxmin that was running when it last > >> ran a VACUUM on its tables. This allows slony to avoid running a VACUUM > >> when it would be clearly pointless to do so. > >> > >> AFAICS autovacuum does not do this, or did I miss that? > > > > Hmm, I think it's just because nobody suggested it and I didn't came up > > with the idea. > > > > Whether it's a useful thing to do is a different matter. Why store it > > per table and not more widely? Perhaps per database would be just as > > useful; and maybe it would allow us to skip running autovac workers > > when there is no point in doing so. > > I think I need to take blame for that feature in Slony-I ;-). Good thinking. > I imagine it might be useful to add it to autovac, too. I thought it > was pretty neat that this could be successfully handled by comparison > with a single value (e.g. - eldest xmin), and I expect that using a > single quasi-global value should be good enough for autovac. I've just looked at that to see if it is that easy; I don't think it is. That works for slony currently because we vacuum all of the slony tables at once. Autovacuum does individual tables so we'd need to store the individual values otherwise we might skip doing a VACUUM when it could have done some useful work. -- Simon Riggs 2ndQuadrant http://www.2ndQuadrant.com ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |
| |||
| Simon Riggs wrote: > On Thu, 2007-11-22 at 21:59 -0500, Christopher Browne wrote: > > I imagine it might be useful to add it to autovac, too. I thought it > > was pretty neat that this could be successfully handled by comparison > > with a single value (e.g. - eldest xmin), and I expect that using a > > single quasi-global value should be good enough for autovac. > > I've just looked at that to see if it is that easy; I don't think it is. > > That works for slony currently because we vacuum all of the slony tables > at once. Autovacuum does individual tables so we'd need to store the > individual values otherwise we might skip doing a VACUUM when it could > have done some useful work. Yeah, that was my conclusion too. -- Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC Voy a acabar con todos los humanos / con los humanos yo acabaré voy a acabar con todos / con todos los humanos acabaré (Bender) ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |
| |||
| Hi to all. I'm new. I'd like to integrate my code into PostgreSQL. It's the implementation of some refinements of Replacement Selection algorithm used for External Sorting. I have got some issue and preferibly I'd like to be supported by some developers that have something to do with it. Who can I talk to? Thanks for your attentions. Good Luck! Manolo. ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster |
| |||
| mac_man2005@hotmail.it wrote: > I'm new. I'd like to integrate my code into PostgreSQL. It's the > implementation of some refinements of Replacement Selection algorithm > used for External Sorting. > I have got some issue and preferibly I'd like to be supported by some > developers that have something to do with it. > > Who can I talk to? This mailing list is the right place to discuss that. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster |
| |||
| Thanks for your support. I downloaded the source code of the last stable version of PostgreSQL. Where can I find the part related to the External Sorting algorithm (supposed to be Replacement Selection)? I mean, which is the file to be studied and/or modified and/or substituted? Thanks for your attention. -------------------------------------------------- From: "Heikki Linnakangas" <heikki@enterprisedb.com> Sent: Monday, November 26, 2007 1:35 PM To: <mac_man2005@hotmail.it> Cc: <pgsql-hackers@postgresql.org> Subject: Re: [HACKERS] Replacement Selection > mac_man2005@hotmail.it wrote: >> I'm new. I'd like to integrate my code into PostgreSQL. It's the >> implementation of some refinements of Replacement Selection algorithm >> used for External Sorting. >> I have got some issue and preferibly I'd like to be supported by some >> developers that have something to do with it. >> >> Who can I talk to? > > This mailing list is the right place to discuss that. > > -- > Heikki Linnakangas > EnterpriseDB http://www.enterprisedb.com > > ---------------------------(end of broadcast)--------------------------- > TIP 2: Don't 'kill -9' the postmaster > ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate |
| |||
| mac_man2005@hotmail.it wrote: > Thanks for your support. > > I downloaded the source code of the last stable version of PostgreSQL. > Where can I find the part related to the External Sorting algorithm > (supposed to be Replacement Selection)? > I mean, which is the file to be studied and/or modified and/or substituted? src/backend/utils/sort/tuplesort.c -- Alvaro Herrera Developer, http://www.PostgreSQL.org/ "I would rather have GNU than GNOT." (ccchips, lwn.net/Articles/37595/) ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend |
| |||
| mac_man2005@hotmail.it wrote: > I downloaded the source code of the last stable version of PostgreSQL. > Where can I find the part related to the External Sorting algorithm > (supposed to be Replacement Selection)? > I mean, which is the file to be studied and/or modified and/or substituted? In src/backend/utils/sort/tuplesort.c. The comments at the top of that file is a good place to start. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| |||
| Ok guys! Thanks for your help. Unfortunately I'm lost into the code... any good soul helping me to understand what should be the precise part to be modified? Thanks for your time! -------------------------------------------------- From: "Heikki Linnakangas" <heikki@enterprisedb.com> Sent: Monday, November 26, 2007 2:34 PM To: <mac_man2005@hotmail.it> Cc: <pgsql-hackers@postgresql.org> Subject: Re: [HACKERS] Replacement Selection > mac_man2005@hotmail.it wrote: >> I downloaded the source code of the last stable version of PostgreSQL. >> Where can I find the part related to the External Sorting algorithm >> (supposed to be Replacement Selection)? >> I mean, which is the file to be studied and/or modified and/or >> substituted? > > In src/backend/utils/sort/tuplesort.c. The comments at the top of that > file is a good place to start. > > -- > Heikki Linnakangas > EnterpriseDB http://www.enterprisedb.com > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq > ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| ||||
| mac_man2005@hotmail.it wrote: > Ok guys! > Thanks for your help. > > Unfortunately I'm lost into the code... any good soul helping me to > understand what should be the precise part to be modified? I think you should print the file and read it several times until you understand what's going on. Then you can start thinking where and how to modify it. -- Alvaro Herrera http://www.amazon.com/gp/registry/DXLWNGRJD34J "Oh, great altar of passive entertainment, bestow upon me thy discordant images at such speed as to render linear thought impossible" (Calvin a la TV) ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate |