You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/TODO.detail/vacuum
+258-2Lines changed: 258 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1403,7 +1403,7 @@ From owner-pgsql-hackers@hub.org Sat Jan 22 02:31:03 2000
1403
1403
Received: from renoir.op.net (root@renoir.op.net [207.29.195.4])
1404
1404
by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA06743
1405
1405
for <pgman@candle.pha.pa.us>; Sat, 22 Jan 2000 03:31:02 -0500 (EST)
1406
-
Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.6 $) with ESMTP id DAA07529 for <pgman@candle.pha.pa.us>; Sat, 22 Jan 2000 03:25:13 -0500 (EST)
1406
+
Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.7 $) with ESMTP id DAA07529 for <pgman@candle.pha.pa.us>; Sat, 22 Jan 2000 03:25:13 -0500 (EST)
1407
1407
Received: from localhost (majordom@localhost)
1408
1408
by hub.org (8.9.3/8.9.3) with SMTP id DAA31900;
1409
1409
Sat, 22 Jan 2000 03:19:53 -0500 (EST)
@@ -1475,7 +1475,7 @@ From tgl@sss.pgh.pa.us Sat Jan 22 10:31:02 2000
1475
1475
Received: from renoir.op.net (root@renoir.op.net [207.29.195.4])
1476
1476
by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA20882
1477
1477
for <pgman@candle.pha.pa.us>; Sat, 22 Jan 2000 11:31:00 -0500 (EST)
1478
-
Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.6 $) with ESMTP id LAA26612 for <pgman@candle.pha.pa.us>; Sat, 22 Jan 2000 11:12:44 -0500 (EST)
1478
+
Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.7 $) with ESMTP id LAA26612 for <pgman@candle.pha.pa.us>; Sat, 22 Jan 2000 11:12:44 -0500 (EST)
1479
1479
Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1])
1480
1480
by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id LAA20569;
X-Scanned-By: MIMEDefang 2.16 (www . roaringpenguin . com / mimedefang)
1984
+
X-Virus-Scanned: by AMaViS new-20020517
1985
+
Precedence: bulk
1986
+
Sender: pgsql-hackers-owner@postgresql.org
1987
+
X-Virus-Scanned: by AMaViS new-20020517
1988
+
Content-Transfer-Encoding: 8bit
1989
+
X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g8O6gYg19416
1990
+
Status: OR
1991
+
1992
+
Am Dienstag, 24. September 2002 08:16 schrieb Shridhar Daithankar:
1993
+
>
1994
+
> > I will play with it more and give you some more feedback.
1995
+
>
1996
+
> Awaiting that.
1997
+
>
1998
+
1999
+
IMO there are still several problems with that approach, namely:
2000
+
* every database will get "polluted" with the autovacuum table, which is undesired
2001
+
* the biggest problem is the ~/.pgavrc file. I think it should work like other postgres utils do, e.g. supporting -U, -d, ....
2002
+
* it's not possible to use without activly administration the config file. it should be able to work without
2003
+
adminstrator assistance.
2004
+
2005
+
When this is a daemon, why not store the data in memory? Even with several thousands of tables the memory footprint would
2006
+
still be small. And it should be possible to use for all databases without modifying a config file.
2007
+
2008
+
Two weeks ago I began writing a similar daemon, but had no time yet to finish it. I've tried to avoid using fixed numbers (namely "vacuum table
2009
+
after 1000 updates") and tried to make my own heuristic based on the statistics data and the size of the table. The reason is, for a large table 1000 entries might be
2010
+
a small percentage and vacuum is not necessary, while for small tables 10 updates might be sufficient.
2011
+
2012
+
Best regards,
2013
+
Mario Weilguni
2014
+
2015
+
2016
+
---------------------------(end of broadcast)---------------------------
2017
+
TIP 2: you can get off all lists at once with the unregister command
2018
+
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
2019
+
2020
+
From pgsql-hackers-owner+M29345@postgresql.org Tue Sep 24 03:02:50 2002
> Am Dienstag, 24. September 2002 08:16 schrieb Shridhar Daithankar:
2065
+
> IMO there are still several problems with that approach, namely:
2066
+
> * every database will get "polluted" with the autovacuum table, which is undesired
2067
+
2068
+
I agree. But that was the best alternative I could see. explanation
2069
+
follows..Besides I didn't want to touch PG meta data..
2070
+
2071
+
> * the biggest problem is the ~/.pgavrc file. I think it should work like other postgres utils do, e.g. supporting -U, -d, ....
2072
+
2073
+
Shouldn't be a problem. The config stuff is working and I can add that. I would
2074
+
rather term it a minor issue. On personal preference, I would just fire it
2075
+
without any arguments. It's not a thing that you change daily. Configure it in
2076
+
config file and done..
2077
+
2078
+
> * it's not possible to use without activly administration the config file. it should be able to work without
2079
+
> adminstrator assistance.
2080
+
2081
+
Well. I would call that tuning. Each admin can tune it. Yes it's an effort but
2082
+
certainly not an active administration.
2083
+
2084
+
> When this is a daemon, why not store the data in memory? Even with several thousands of tables the memory footprint would
2085
+
> still be small. And it should be possible to use for all databases without modifying a config file.
2086
+
2087
+
Well. When postgresql has ability to deal with arbitrary number of rows, it
2088
+
seemed redundant to me to duplicate all those functionality. Why write lists
2089
+
and arrays again and again? Let postgresql do it.
2090
+
2091
+
2092
+
> Two weeks ago I began writing a similar daemon, but had no time yet to finish it. I've tried to avoid using fixed numbers (namely "vacuum table
2093
+
> after 1000 updates") and tried to make my own heuristic based on the statistics data and the size of the table. The reason is, for a large table 1000 entries might be
2094
+
> a small percentage and vacuum is not necessary, while for small tables 10 updates might be sufficient.
2095
+
2096
+
Well, that fixed number is not really fixed but admin tunable, that too per
2097
+
database. These are just defaults. Tune it to suit your needs.
2098
+
2099
+
The objective of whole exercise is to get rid of periodic vacuum as this app.
2100
+
shifts threshold to activity rather than time.
2101
+
2102
+
Besides a table should be vacuumed when it starts affecting performance. On an
2103
+
installation if a table a 1M rows and change 1K rows affects performance, there
2104
+
will be a similar performance hit for a 100K rows table for 1K rows update.
2105
+
Because overhead involved would be almost same.(Not disk space. pgavd does not
2106
+
target vacuum full but tuple size should matter).
2107
+
2108
+
At least me thinks so..
2109
+
2110
+
I plan to implement per table threshold in addition to per database thresholds.
2111
+
But right now, it seems like overhead to me. Besides there is an item in TODO,
2112
+
to shift unit of work from rows to blocks affected. I guess that takes care of
2113
+
some of your points..
2114
+
Bye
2115
+
Shridhar
2116
+
2117
+
--
2118
+
Jones' Second Law: The man who smiles when things go wrong has thought of
2119
+
someone to blame it on.
2120
+
2121
+
2122
+
---------------------------(end of broadcast)---------------------------
0 commit comments