Thread: Vacuum meaning

Vacuum meaning

From
"Gaetano Mendola"
Date:
Hi all, happy new year.

I have a Postgresql server 7.2.2 running 24/24  7/7,
is not so much stressed till now but how you can imagine
the DB disk space grow each day.
I scheduled twice a day a vacuum but I don't see any space,
on the disk, free after these two vacuum.
The only way to obtain same space free is do a reindex on a table with
13 indexes, but anyway is not the same free space that I expect to obtain
with a vacuum. I tried once a week to do a vacuum full, and in this case
I obtain a lot of space but since last week I can't do anymore a vacuum full
otherwise the process that do vacuum hang and all future connection to the
DB hang too till I reach the 64 max connections.
I tried too to do a reindex on another big table ( ~10^6 rows ) but I cant
otherwise all processes hang.
My question is:

What is the meaning of the vacuum if the space on the DB continue to grown?
The vacuum operazion don't seem mark some rows to be again utilizable.
You can find attached the result of a vacuum sheduled at 4:00 AM and of a
vacuum analyze scheduled at 6:00 AM.
And a picture of how the disk usage continue to grown... :-(

What is going on ? Any suggestion ?


Ciao
Gaetano



begin 666 process.vacuum.analyze
M2F%N(" S(# V.C S.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<U
M,%T@1$5"54<Z(" M+5)E;&%T:6]N('!G7W1Y<&4M+0I*86X@(#,@,#8Z,#,Z
M,SD@<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-S4Q+3%=($1%0E5'.B @
M4&%G97,@,CH@0VAA;F=E9" P+"!%;7!T>2 P.R!4=7 @,30S.B!686,@,"P@
M2V5E<" P+"!5;E5S960@,2X*2F%N(" S(# V.C S.C,Y('-D<C(@<&]S=&=R
M97-;,3,U.#9=.B!;.3(V.#<U,2TR72!>251O=&%L($-052 P+C P<R\P+C P
M=2!S96,@96QA<'-E9" P+C P('-E8RX*2F%N(" S(# V.C S.C,Y('-D<C(@
M<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<U,ET@1$5"54<Z("!!;F%L>7II;F<@
M<&=?='EP90I*86X@(#,@,#8Z,#,Z,SD@<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ
M(%LY,C8X-S4S72!$14)51SH@("TM4F5L871I;VX@<&=?871T<FEB=71E+2T*
M2F%N(" S(# V.C S.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<U
M-"TQ72!$14)51SH@(%!A9V5S(#$Q.B!#:&%N9V5D(# L($5M<'1Y(# [(%1U
M<" W.34Z(%9A8R P+"!+965P(# L(%5N57-E9" R,2X*2F%N(" S(# V.C S
M.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<U-"TR72!>251O=&%L
M($-052 P+C P<R\P+C P=2!S96,@96QA<'-E9" P+C P('-E8RX*2F%N(" S
M(# V.C S.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<U-5T@1$5"
M54<Z("!!;F%L>7II;F<@<&=?871T<FEB=71E"DIA;B @,R P-CHP,SHS.2!S
M9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@W-39=($1%0E5'.B @+2U296QA
M=&EO;B!P9U]C;&%S<RTM"DIA;B @,R P-CHP,SHS.2!S9'(R('!O<W1G<F5S
M6S$S-3@V73H@6SDR-C@W-3<M,5T@1$5"54<Z("!086=E<R R.B!#:&%N9V5D
M(# L($5M<'1Y(# [(%1U<" Q,#$Z(%9A8R P+"!+965P(# L(%5N57-E9" S
M,BX*2F%N(" S(# V.C S.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V
M.#<U-RTR72!>251O=&%L($-052 P+C P<R\P+C P=2!S96,@96QA<'-E9" P
M+C P('-E8RX*2F%N(" S(# V.C S.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=
M.B!;.3(V.#<U.%T@1$5"54<Z("!!;F%L>7II;F<@<&=?8VQA<W,*2F%N(" S
M(# V.C S.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<U.5T@1$5"
M54<Z(" M+5)E;&%T:6]N('!G7V=R;W5P+2T*2F%N(" S(# V.C S.C,Y('-D
M<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<V,"TQ72!$14)51SH@(%!A9V5S
M(#$Z($-H86YG960@,"P@16UP='D@,#L@5'5P(#(Z(%9A8R P+"!+965P(# L
M(%5N57-E9" P+@I*86X@(#,@,#8Z,#,Z,SD@<V1R,B!P;W-T9W)E<ULQ,S4X
M-ETZ(%LY,C8X-S8P+3)=(%Y)5&]T86P@0U!5(# N,#!S+S N,#!U('-E8R!E
M;&%P<V5D(# N,# @<V5C+@I*86X@(#,@,#8Z,#,Z,SD@<V1R,B!P;W-T9W)E
M<ULQ,S4X-ETZ(%LY,C8X-S8Q72!$14)51SH@($%N86QY>FEN9R!P9U]G<F]U
M< I*86X@(#,@,#8Z,#,Z,SD@<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X
M-S8R72!$14)51SH@("TM4F5L871I;VX@<&=?9&%T86)A<V4M+0I*86X@(#,@
M,#8Z,#,Z,SD@<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-S8S+3%=($1%
M0E5'.B @4&%G97,@,3H@0VAA;F=E9" P+"!%;7!T>2 P.R!4=7 @,SH@5F%C
M(# L($ME97 @,"P@56Y5<V5D(#(N"DIA;B @,R P-CHP,SHS.2!S9'(R('!O
M<W1G<F5S6S$S-3@V73H@6SDR-C@W-C,M,ET@7DE4;W1A;"!#4%4@,"XP,',O
M,"XP,'4@<V5C(&5L87!S960@,"XP,"!S96,N"DIA;B @,R P-CHP,SHS.2!S
M9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@W-C1=($1%0E5'.B @06YA;'EZ
M:6YG('!G7V1A=&%B87-E"DIA;B @,R P-CHP,SHS.2!S9'(R('!O<W1G<F5S
M6S$S-3@V73H@6SDR-C@W-C5=($1%0E5'.B @+2U296QA=&EO;B!P9U]I;FAE
M<FET<RTM"DIA;B @,R P-CHP,SHS.2!S9'(R('!O<W1G<F5S6S$S-3@V73H@
M6SDR-C@W-C8M,5T@1$5"54<Z("!086=E<R P.B!#:&%N9V5D(# L($5M<'1Y
M(# [(%1U<" P.B!686,@,"P@2V5E<" P+"!5;E5S960@,"X*2F%N(" S(# V
M.C S.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<V-BTR72!>251O
M=&%L($-052 P+C P<R\P+C P=2!S96,@96QA<'-E9" P+C P('-E8RX*2F%N
M(" S(# V.C S.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<V-UT@
M1$5"54<Z("!!;F%L>7II;F<@<&=?:6YH97)I=',*2F%N(" S(# V.C S.C,Y
M('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<V.%T@1$5"54<Z(" M+5)E
M;&%T:6]N('!G7VEN9&5X+2T*2F%N(" S(# V.C S.C,Y('-D<C(@<&]S=&=R
M97-;,3,U.#9=.B!;.3(V.#<V.2TQ72!$14)51SH@(%!A9V5S(#$Z($-H86YG
M960@,"P@16UP='D@,#L@5'5P(#0W.B!686,@,"P@2V5E<" P+"!5;E5S960@
M,2X*2F%N(" S(# V.C S.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V
M.#<V.2TR72!>251O=&%L($-052 P+C P<R\P+C P=2!S96,@96QA<'-E9" P
M+C P('-E8RX*2F%N(" S(# V.C S.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=
M.B!;.3(V.#<W,%T@1$5"54<Z("!!;F%L>7II;F<@<&=?:6YD97@*2F%N(" S
M(# V.C S.C,Y('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<W,5T@1$5"
M54<Z(" M+5)E;&%T:6]N('!G7V]P97)A=&]R+2T*2F%N(" S(# V.C S.C,Y
M('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<W,BTQ72!$14)51SH@(%!A
M9V5S(#$P.B!#:&%N9V5D(# L($5M<'1Y(# [(%1U<" V,C,Z(%9A8R P+"!+
M965P(# L(%5N57-E9" P+@I*86X@(#,@,#8Z,#,Z,SD@<V1R,B!P;W-T9W)E
M<ULQ,S4X-ETZ(%LY,C8X-S<R+3)=(%Y)5&]T86P@0U!5(# N,#!S+S N,#!U
M('-E8R!E;&%P<V5D(# N,# @<V5C+@I*86X@(#,@,#8Z,#,Z,SD@<V1R,B!P
M;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-S<S72!$14)51SH@($%N86QY>FEN9R!P
M9U]O<&5R871O<@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X
M-ETZ(%LY,C8X-S<T72!$14)51SH@("TM4F5L871I;VX@<&=?;W!C;&%S<RTM
M"DIA;B @,R P-CHP,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@W
M-S4M,5T@1$5"54<Z("!086=E<R Q.B!#:&%N9V5D(# L($5M<'1Y(# [(%1U
M<" U,3H@5F%C(# L($ME97 @,"P@56Y5<V5D(# N"DIA;B @,R P-CHP,SHT
M,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@W-S4M,ET@7DE4;W1A;"!#
M4%4@,"XP,',O,"XP,'4@<V5C(&5L87!S960@,"XP,"!S96,N"DIA;B @,R P
M-CHP,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@W-S9=($1%0E5'
M.B @06YA;'EZ:6YG('!G7V]P8VQA<W,*2F%N(" S(# V.C S.C0P('-D<C(@
M<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<W-UT@1$5"54<Z(" M+5)E;&%T:6]N
M('!G7V%M+2T*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=
M.B!;.3(V.#<W."TQ72!$14)51SH@(%!A9V5S(#$Z($-H86YG960@,"P@16UP
M='D@,#L@5'5P(#0Z(%9A8R P+"!+965P(# L(%5N57-E9" P+@I*86X@(#,@
M,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-S<X+3)=(%Y)
M5&]T86P@0U!5(# N,#!S+S N,#!U('-E8R!E;&%P<V5D(# N,# @<V5C+@I*
M86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-S<Y
M72!$14)51SH@($%N86QY>FEN9R!P9U]A;0I*86X@(#,@,#8Z,#,Z-# @<V1R
M,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-S@P72!$14)51SH@("TM4F5L871I
M;VX@<&=?86UO<"TM"DIA;B @,R P-CHP,SHT,"!S9'(R('!O<W1G<F5S6S$S
M-3@V73H@6SDR-C@W.#$M,5T@1$5"54<Z("!086=E<R R.B!#:&%N9V5D(# L
M($5M<'1Y(# [(%1U<" Q.# Z(%9A8R P+"!+965P(# L(%5N57-E9" P+@I*
M86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-S@Q
M+3)=(%Y)5&]T86P@0U!5(# N,#!S+S N,#!U('-E8R!E;&%P<V5D(# N,# @
M<V5C+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY
M,C8X-S@R72!$14)51SH@($%N86QY>FEN9R!P9U]A;6]P"DIA;B @,R P-CHP
M,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@W.#-=($1%0E5'.B @
M+2U296QA=&EO;B!P9U]A;7!R;V,M+0I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P
M;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-S@T+3%=($1%0E5'.B @4&%G97,@,3H@
M0VAA;F=E9" P+"!%;7!T>2 P.R!4=7 @-3<Z(%9A8R P+"!+965P(# L(%5N
M57-E9" P+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ
M(%LY,C8X-S@T+3)=(%Y)5&]T86P@0U!5(# N,#!S+S N,#!U('-E8R!E;&%P
M<V5D(# N,# @<V5C+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ
M,S4X-ETZ(%LY,C8X-S@U72!$14)51SH@($%N86QY>FEN9R!P9U]A;7!R;V,*
M2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<X
M-ET@1$5"54<Z(" M+5)E;&%T:6]N('!G7VQA;F=U86=E+2T*2F%N(" S(# V
M.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#<X-RTQ72!$14)5
M1SH@(%!A9V5S(#$Z($-H86YG960@,"P@16UP='D@,#L@5'5P(#,Z(%9A8R P
M+"!+965P(# L(%5N57-E9" P+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T
M9W)E<ULQ,S4X-ETZ(%LY,C8X-S@W+3)=(%Y)5&]T86P@0U!5(# N,#!S+S N
M,#!U('-E8R!E;&%P<V5D(# N,# @<V5C+@I*86X@(#,@,#8Z,#,Z-# @<V1R
M,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-S@X72!$14)51SH@($%N86QY>FEN
M9R!P9U]L86YG=6%G90I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ
M,S4X-ETZ(%LY,C8X-S@Y72!$14)51SH@("TM4F5L871I;VX@<&=?;&%R9V5O
M8FIE8W0M+0I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ
M(%LY,C8X-SDP+3%=($1%0E5'.B @4&%G97,@,#H@0VAA;F=E9" P+"!%;7!T
M>2 P.R!4=7 @,#H@5F%C(# L($ME97 @,"P@56Y5<V5D(# N"DIA;B @,R P
M-CHP,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@W.3 M,ET@7DE4
M;W1A;"!#4%4@,"XP,',O,"XP,'4@<V5C(&5L87!S960@,"XP,"!S96,N"DIA
M;B @,R P-CHP,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@W.3%=
M($1%0E5'.B @06YA;'EZ:6YG('!G7VQA<F=E;V)J96-T"DIA;B @,R P-CHP
M,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@W.3)=($1%0E5'.B @
M+2U296QA=&EO;B!P9U]A9V=R96=A=&4M+0I*86X@(#,@,#8Z,#,Z-# @<V1R
M,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-SDS+3%=($1%0E5'.B @4&%G97,@
M,3H@0VAA;F=E9" P+"!%;7!T>2 P.R!4=7 @-C Z(%9A8R P+"!+965P(# L
M(%5N57-E9" P+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X
M-ETZ(%LY,C8X-SDS+3)=(%Y)5&]T86P@0U!5(# N,#!S+S N,#!U('-E8R!E
M;&%P<V5D(# N,# @<V5C+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E
M<ULQ,S4X-ETZ(%LY,C8X-SDT72!$14)51SH@($%N86QY>FEN9R!P9U]A9V=R
M96=A=&4*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;
M.3(V.#<Y-5T@1$5"54<Z(" M+5)E;&%T:6]N('!G7W1R:6=G97(M+0I*86X@
M(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-SDV+3%=
M($1%0E5'.B @4&%G97,@,3H@0VAA;F=E9" P+"!%;7!T>2 P.R!4=7 @,3H@
M5F%C(# L($ME97 @,"P@56Y5<V5D(# N"DIA;B @,R P-CHP,SHT,"!S9'(R
M('!O<W1G<F5S6S$S-3@V73H@6SDR-C@W.38M,ET@7DE4;W1A;"!#4%4@,"XP
M,',O,"XP,'4@<V5C(&5L87!S960@,"XP,"!S96,N"DIA;B @,R P-CHP,SHT
M,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@W.3==($1%0E5'.B @06YA
M;'EZ:6YG('!G7W1R:6=G97(*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R
M97-;,3,U.#9=.B!;.3(V.#<Y.%T@1$5"54<Z(" M+5)E;&%T:6]N('!G7VQI
M<W1E;F5R+2T*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=
M.B!;.3(V.#<Y.2TQ72!$14)51SH@(%!A9V5S(# Z($-H86YG960@,"P@16UP
M='D@,#L@5'5P(# Z(%9A8R P+"!+965P(# L(%5N57-E9" P+@I*86X@(#,@
M,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X-SDY+3)=(%Y)
M5&]T86P@0U!5(# N,#!S+S N,#!U('-E8R!E;&%P<V5D(# N,# @<V5C+@I*
M86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X.# P
M72!$14)51SH@($%N86QY>FEN9R!P9U]L:7-T96YE<@I*86X@(#,@,#8Z,#,Z
M-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X.# Q72!$14)51SH@("TM
M4F5L871I;VX@<&=?<VAA9&]W+2T*2F%N(" S(# V.C S.C0P('-D<C(@<&]S
M=&=R97-;,3,U.#9=.B!;.3(V.#@P,BTQ72!$14)51SH@(%!A9V5S(#$Z($-H
M86YG960@,"P@16UP='D@,#L@5'5P(#8Y.B!686,@,"P@2V5E<" P+"!5;E5S
M960@,3@N"DIA;B @,R P-CHP,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@
M6SDR-C@X,#(M,ET@7DE4;W1A;"!#4%4@,"XP,',O,"XP,'4@<V5C(&5L87!S
M960@,"XP,"!S96,N"DIA;B @,R P-CHP,SHT,"!S9'(R('!O<W1G<F5S6S$S
M-3@V73H@6SDR-C@X,#-=($1%0E5'.B @06YA;'EZ:6YG('!G7W-H861O=PI*
M86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X.# T
M72!$14)51SH@("TM4F5L871I;VX@<&=?871T<F1E9BTM"DIA;B @,R P-CHP
M,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@X,#4M,5T@1$5"54<Z
M("!086=E<R P.B!#:&%N9V5D(# L($5M<'1Y(# [(%1U<" P.B!686,@,"P@
M2V5E<" P+"!5;E5S960@,"X*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R
M97-;,3,U.#9=.B!;.3(V.#@P-2TR72!>251O=&%L($-052 P+C P<R\P+C Q
M=2!S96,@96QA<'-E9" P+C P('-E8RX*2F%N(" S(# V.C S.C0P('-D<C(@
M<&]S=&=R97-;,3,U.#9=.B!;.3(V.#@P-ET@1$5"54<Z(" M+5)E;&%T:6]N
M('!G7W1O87-T7S$V,S@T+2T*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R
M97-;,3,U.#9=.B!;.3(V.#@P-RTQ72!$14)51SH@(%!A9V5S(# Z($-H86YG
M960@,"P@16UP='D@,#L@5'5P(# Z(%9A8R P+"!+965P(# L(%5N57-E9" P
M+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X
M.# W+3)=(%Y)5&]T86P@0U!5(# N,#!S+S N,#!U('-E8R!E;&%P<V5D(# N
M,# @<V5C+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ
M(%LY,C8X.# X72!$14)51SH@($%N86QY>FEN9R!P9U]A='1R9&5F"DIA;B @
M,R P-CHP,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@X,#E=($1%
M0E5'.B @+2U296QA=&EO;B!P9U]D97-C<FEP=&EO;BTM"DIA;B @,R P-CHP
M,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@X,3 M,5T@1$5"54<Z
M("!086=E<R Q,CH@0VAA;F=E9" P+"!%;7!T>2 P.R!4=7 @,3,P,SH@5F%C
M(# L($ME97 @,"P@56Y5<V5D(# N"DIA;B @,R P-CHP,SHT,"!S9'(R('!O
M<W1G<F5S6S$S-3@V73H@6SDR-C@X,3 M,ET@7DE4;W1A;"!#4%4@,"XP,',O
M,"XP,'4@<V5C(&5L87!S960@,"XP-"!S96,N"DIA;B @,R P-CHP,SHT,"!S
M9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@X,3%=($1%0E5'.B @+2U296QA
M=&EO;B!P9U]T;V%S=%\Q-C0Q-BTM"DIA;B @,R P-CHP,SHT,"!S9'(R('!O
M<W1G<F5S6S$S-3@V73H@6SDR-C@X,3(M,5T@1$5"54<Z("!086=E<R P.B!#
M:&%N9V5D(# L($5M<'1Y(# [(%1U<" P.B!686,@,"P@2V5E<" P+"!5;E5S
M960@,"X*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;
M.3(V.#@Q,BTR72!>251O=&%L($-052 P+C P<R\P+C P=2!S96,@96QA<'-E
M9" P+C P('-E8RX*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U
M.#9=.B!;.3(V.#@Q,UT@1$5"54<Z("!!;F%L>7II;F<@<&=?9&5S8W)I<'1I
M;VX*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V
M.#@Q-%T@1$5"54<Z(" M+5)E;&%T:6]N('!G7W!R;V,M+0I*86X@(#,@,#8Z
M,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X.#$U+3%=($1%0E5'
M.B @4&%G97,@,S$Z($-H86YG960@,"P@16UP='D@,#L@5'5P(#$R-C,Z(%9A
M8R P+"!+965P(# L(%5N57-E9" P+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P
M;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X.#$U+3)=(%Y)5&]T86P@0U!5(# N,#!S
M+S N,#!U('-E8R!E;&%P<V5D(# N,# @<V5C+@I*86X@(#,@,#8Z,#,Z-# @
M<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X.#$V72!$14)51SH@("TM4F5L
M871I;VX@<&=?=&]A<W1?,3(U-2TM"DIA;B @,R P-CHP,SHT,"!S9'(R('!O
M<W1G<F5S6S$S-3@V73H@6SDR-C@X,3<M,5T@1$5"54<Z("!086=E<R P.B!#
M:&%N9V5D(# L($5M<'1Y(# [(%1U<" P.B!686,@,"P@2V5E<" P+"!5;E5S
M960@,"X*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;
M.3(V.#@Q-RTR72!>251O=&%L($-052 P+C P<R\P+C P=2!S96,@96QA<'-E
M9" P+C P('-E8RX*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U
M.#9=.B!;.3(V.#@Q.%T@1$5"54<Z("!!;F%L>7II;F<@<&=?<')O8PI*86X@
M(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X.#$Y72!$
M14)51SH@("TM4F5L871I;VX@<&=?<F5L8VAE8VLM+0I*86X@(#,@,#8Z,#,Z
M-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X.#(P+3%=($1%0E5'.B @
M4&%G97,@,#H@0VAA;F=E9" P+"!%;7!T>2 P.R!4=7 @,#H@5F%C(# L($ME
M97 @,"P@56Y5<V5D(# N"DIA;B @,R P-CHP,SHT,"!S9'(R('!O<W1G<F5S
M6S$S-3@V73H@6SDR-C@X,C M,ET@7DE4;W1A;"!#4%4@,"XP,',O,"XP,'4@
M<V5C(&5L87!S960@,"XP,"!S96,N"DIA;B @,R P-CHP,SHT,"!S9'(R('!O
M<W1G<F5S6S$S-3@V73H@6SDR-C@X,C%=($1%0E5'.B @+2U296QA=&EO;B!P
M9U]T;V%S=%\Q-C,X-BTM"DIA;B @,R P-CHP,SHT,"!S9'(R('!O<W1G<F5S
M6S$S-3@V73H@6SDR-C@X,C(M,5T@1$5"54<Z("!086=E<R P.B!#:&%N9V5D
M(# L($5M<'1Y(# [(%1U<" P.B!686,@,"P@2V5E<" P+"!5;E5S960@,"X*
M2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#@R
M,BTR72!>251O=&%L($-052 P+C P<R\P+C P=2!S96,@96QA<'-E9" P+C P
M('-E8RX*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;
M.3(V.#@R,UT@1$5"54<Z("!!;F%L>7II;F<@<&=?<F5L8VAE8VL*2F%N(" S
M(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#@R-%T@1$5"
M54<Z(" M+5)E;&%T:6]N('!G7W)E=W)I=&4M+0I*86X@(#,@,#8Z,#,Z-# @
M<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X.#(U+3%=($1%0E5'.B @4&%G
M97,@-#H@0VAA;F=E9" P+"!%;7!T>2 P.R!4=7 @,C,Z(%9A8R P+"!+965P
M(# L(%5N57-E9" P+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ
M,S4X-ETZ(%LY,C8X.#(U+3)=(%Y)5&]T86P@0U!5(# N,#!S+S N,#!U('-E
M8R!E;&%P<V5D(# N,#(@<V5C+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T
M9W)E<ULQ,S4X-ETZ(%LY,C8X.#(V72!$14)51SH@("TM4F5L871I;VX@<&=?
M=&]A<W1?,38T,3 M+0I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ
M,S4X-ETZ(%LY,C8X.#(W+3%=($1%0E5'.B @4&%G97,@,CH@0VAA;F=E9" P
M+"!%;7!T>2 P.R!4=7 @-3H@5F%C(# L($ME97 @,"P@56Y5<V5D(# N"DIA
M;B @,R P-CHP,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@X,C<M
M,ET@7DE4;W1A;"!#4%4@,"XP,',O,"XP,'4@<V5C(&5L87!S960@,"XP,B!S
M96,N"DIA;B @,R P-CHP,SHT,"!S9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR
M-C@X,CA=($1%0E5'.B @06YA;'EZ:6YG('!G7W)E=W)I=&4*2F%N(" S(# V
M.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=.B!;.3(V.#@R.5T@1$5"54<Z
M(" M+5)E;&%T:6]N('!G7W-T871I<W1I8RTM"DIA;B @,R P-CHP,SHT,"!S
M9'(R('!O<W1G<F5S6S$S-3@V73H@6SDR-C@X,S M,5T@1$5"54<Z("!);F1E
M>"!P9U]S=&%T:7-T:6-?<F5L:61?871T7VEN9&5X.B!086=E<R R.R!4=7!L
M97,@,3 P.B!$96QE=&5D(#$P,"X*2F%N(" S(# V.C S.C0P('-D<C(@<&]S
M=&=R97-;,3,U.#9=.B!;.3(V.#@S,"TR72!>24-052 P+C P<R\P+C P=2!S
M96,@96QA<'-E9" P+C P('-E8RX*2F%N(" S(# V.C S.C0P('-D<C(@<&]S
M=&=R97-;,3,U.#9=.B!;.3(V.#@S,2TQ72!$14)51SH@(%)E;6]V960@,3 P
M('1U<&QE<R!I;B V('!A9V5S+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T
M9W)E<ULQ,S4X-ETZ(%LY,C8X.#,Q+3)=(%Y)0U!5(# N,#!S+S N,#!U('-E
M8R!E;&%P<V5D(# N,# @<V5C+@I*86X@(#,@,#8Z,#,Z-# @<V1R,B!P;W-T
M9W)E<ULQ,S4X-ETZ(%LY,C8X.#,R+3%=($1%0E5'.B @4&%G97,@-CH@0VAA
M;F=E9" V+"!%;7!T>2 P.R!4=7 @,3 P.B!686,@,3 P+"!+965P(# L(%5N
M57-E9" S-2X*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=
M.B!;.3(V.#@S,BTR72!>251O=&%L($-052 P+C P<R\P+C P=2!S96,@96QA
M<'-E9" P+C P('-E8RX*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;
M,3,U.#9=.B!;.3(V.#@S,UT@1$5"54<Z(" M+5)E;&%T:6]N('!G7W1O87-T
M7S$V-# X+2T*2F%N(" S(# V.C S.C0P('-D<C(@<&]S=&=R97-;,3,U.#9=
M.B!;.3(V.#@S-"TQ72!$14)51SH@(%!A9V5S(# Z($-H86YG960@,"P@16UP
M='D@,#L@5'5P(# Z(%9A8R P+"!+965P(# L(%5N57-E9" P+@I*86X@(#,@
M,#8Z,#,Z-# @<V1R,B!P;W-T9W)E<ULQ,S4X-ETZ(%LY,C8X.#,T+3)=(%Y)
L5&]T86P@0U!5(# N,#!S+S N,#!U('-E8R!E;&%P<V5D(# N,# @<V5C+@H`
`
end

begin 666 process.vacuum
M2F%N(" S(# T.C S.C0P('-D<C(@<&]S=&=R97-;-38Q-5TZ(%LY,C0W.30Y
M72!$14)51SH@("TM4F5L871I;VX@<&=?=&]A<W1?,3 V,C@V,"TM"DIA;B @
M,R P-#HP,SHT,"!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDU,"TQ72!$
M14)51SH@(%!A9V5S(# Z($-H86YG960@,"P@16UP='D@,#L@5'5P(# Z(%9A
M8R P+"!+965P(# L(%5N57-E9" P+@I*86X@(#,@,#0Z,#,Z-# @<V1R,B!P
M;W-T9W)E<ULU-C$U73H@6SDR-#<Y-3 M,ET@7DE4;W1A;"!#4%4@,"XP,',O
M,"XP,'4@<V5C(&5L87!S960@,"XP,"!S96,N"DIA;B @,R P-#HP,SHT,"!S
M9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDU,5T@1$5"54<Z(" M+5)E;&%T
M:6]N('5S97)?9&%T82TM"DIA;B @,R P-#HP,SHT,2!S9'(R('!O<W1G<F5S
M6S4V,35=.B!;.3(T-SDU,BTQ72!$14)51SH@(%!A9V5S(#$X-3H@0VAA;F=E
M9" P+"!%;7!T>2 P.R!4=7 @-C@R,#H@5F%C(# L($ME97 @-RP@56Y5<V5D
M(#8P+@I*86X@(#,@,#0Z,#,Z-#$@<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR
M-#<Y-3(M,ET@7DE4;W1A;"!#4%4@,"XP,7,O,"XP,'4@<V5C(&5L87!S960@
M,"XV-2!S96,N"DIA;B @,R P-#HP,SHT,2!S9'(R('!O<W1G<F5S6S4V,35=
M.B!;.3(T-SDU,UT@1$5"54<Z(" M+5)E;&%T:6]N('!G7W1O87-T7S<T,#@W
M,RTM"DIA;B @,R P-#HP,SHT,2!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T
M-SDU-"TQ72!$14)51SH@(%!A9V5S(# Z($-H86YG960@,"P@16UP='D@,#L@
M5'5P(# Z(%9A8R P+"!+965P(# L(%5N57-E9" P+@I*86X@(#,@,#0Z,#,Z
M-#$@<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y-30M,ET@7DE4;W1A;"!#
M4%4@,"XP,',O,"XP,'4@<V5C(&5L87!S960@,"XP,"!S96,N"DIA;B @,R P
M-#HP,SHT,2!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDU-5T@1$5"54<Z
M(" M+5)E;&%T:6]N('5S97)?9W)O=7 M+0I*86X@(#,@,#0Z,#,Z-#$@<V1R
M,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y-38M,5T@1$5"54<Z("!086=E<R P
M.B!#:&%N9V5D(# L($5M<'1Y(# [(%1U<" P.B!686,@,"P@2V5E<" P+"!5
M;E5S960@,"X*2F%N(" S(# T.C S.C0Q('-D<C(@<&]S=&=R97-;-38Q-5TZ
M(%LY,C0W.34V+3)=(%Y)5&]T86P@0U!5(# N,#!S+S N,#!U('-E8R!E;&%P
M<V5D(# N,# @<V5C+@I*86X@(#,@,#0Z,#,Z-#$@<V1R,B!P;W-T9W)E<ULU
M-C$U73H@6SDR-#<Y-3==($1%0E5'.B @+2U296QA=&EO;B!U<V5R7VQO9VEN
M+2T*2F%N(" S(# T.C S.C4U('-D<C(@<&]S=&=R97-;-38Q-5TZ(%LY,C0W
M.34X+3%=($1%0E5'.B @4&%G97,@-#4Z($-H86YG960@,S0L($5M<'1Y(# [
M(%1U<" V.#$W.B!686,@,"P@2V5E<" T+"!5;E5S960@,C,N"DIA;B @,R P
M-#HP,SHU-2!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDU."TR72!>251O
M=&%L($-052 P+C R<R\P+C P=2!S96,@96QA<'-E9" Q-"XS,B!S96,N"DIA
M;B @,R P-#HP,SHU-2!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDU.5T@
M1$5"54<Z(" M+5)E;&%T:6]N('!G7W1O87-T7S<T,#<S,BTM"DIA;B @,R P
M-#HP,SHU-2!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDV,"TQ72!$14)5
M1SH@(%!A9V5S(# Z($-H86YG960@,"P@16UP='D@,#L@5'5P(# Z(%9A8R P
M+"!+965P(# L(%5N57-E9" P+@I*86X@(#,@,#0Z,#,Z-34@<V1R,B!P;W-T
M9W)E<ULU-C$U73H@6SDR-#<Y-C M,ET@7DE4;W1A;"!#4%4@,"XP,',O,"XP
M,'4@<V5C(&5L87!S960@,"XP,"!S96,N"DIA;B @,R P-#HP,SHU-2!S9'(R
M('!O<W1G<F5S6S4V,35=.B!;.3(T-SDV,5T@1$5"54<Z(" M+5)E;&%T:6]N
M('5S97)?;&]G:6Y?<W1I8VME<BTM"DIA;B @,R P-#HP,SHU-2!S9'(R('!O
M<W1G<F5S6S4V,35=.B!;.3(T-SDV,BTQ72!$14)51SH@(%!A9V5S(#$X.B!#
M:&%N9V5D(# L($5M<'1Y(# [(%1U<" S,C,X.B!686,@,"P@2V5E<" Q+"!5
M;E5S960@,3,N"DIA;B @,R P-#HP,SHU-2!S9'(R('!O<W1G<F5S6S4V,35=
M.B!;.3(T-SDV,BTR72!>251O=&%L($-052 P+C P<R\P+C P=2!S96,@96QA
M<'-E9" P+C T('-E8RX*2F%N(" S(# T.C S.C4U('-D<C(@<&]S=&=R97-;
M-38Q-5TZ(%LY,C0W.38S72!$14)51SH@("TM4F5L871I;VX@=7-E<E]L;V=S
M+2T*2F%N(" S(# T.C T.C S('-D<C(@<&]S=&=R97-;-38Q-5TZ(%LY,C0W
M.38T+3%=($1%0E5'.B @26YD97@@=7-E<E]L;V=S7W!K97DZ(%!A9V5S(#$S
M,#4[(%1U<&QE<R U,3,W,34Z($1E;&5T960@,RX*2F%N(" S(# T.C T.C S
M('-D<C(@<&]S=&=R97-;-38Q-5TZ(%LY,C0W.38T+3)=(%Y)0U!5(# N,C%S
M+S N,#=U('-E8R!E;&%P<V5D(#$N.#$@<V5C+@I*86X@(#,@,#0Z,#0Z,#D@
M<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y-C4M,5T@1$5"54<Z("!);F1E
M>"!I9'A?=7-E<E]U<V5R7VQO9W,Z(%!A9V5S(#$S-S@[(%1U<&QE<R U,3,W
M,34Z($1E;&5T960@,RX*2F%N(" S(# T.C T.C Y('-D<C(@<&]S=&=R97-;
M-38Q-5TZ(%LY,C0W.38U+3)=(%Y)0U!5(# N,C!S+S N,3!U('-E8R!E;&%P
M<V5D(#4N.30@<V5C+@I*86X@(#,@,#0Z,#0Z,#D@<V1R,B!P;W-T9W)E<ULU
M-C$U73H@6SDR-#<Y-C8M,5T@1$5"54<Z("!296UO=F5D(#,@='5P;&5S(&EN
M(#(@<&%G97,N"DIA;B @,R P-#HP-#HP.2!S9'(R('!O<W1G<F5S6S4V,35=
M.B!;.3(T-SDV-BTR72!>24-052 P+C P<R\P+C P=2!S96,@96QA<'-E9" P
M+C P('-E8RX*2F%N(" S(# T.C T.C Y('-D<C(@<&]S=&=R97-;-38Q-5TZ
M(%LY,C0W.38W+3%=($1%0E5'.B @4&%G97,@-3,T-SH@0VAA;F=E9" U+"!%
M;7!T>2 P.R!4=7 @-3$S-S$U.B!686,@,RP@2V5E<" P+"!5;E5S960@,C,X
M+@I*86X@(#,@,#0Z,#0Z,#D@<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y
M-C<M,ET@7DE4;W1A;"!#4%4@,"XY,W,O,"XR-'4@<V5C(&5L87!S960@,30N
M,#<@<V5C+@I*86X@(#,@,#0Z,#0Z,#D@<V1R,B!P;W-T9W)E<ULU-C$U73H@
M6SDR-#<Y-CA=($1%0E5'.B @+2U296QA=&EO;B!U<V5R7VQO9W-?9&EG97-T
M+2T*2F%N(" S(# T.C T.C$P('-D<C(@<&]S=&=R97-;-38Q-5TZ(%LY,C0W
M.38Y+3%=($1%0E5'.B @26YD97@@=7-E<E]L;V=S7V1I9V5S=%]P:V5Y.B!0
M86=E<R Q,C4[(%1U<&QE<R Q,34Y-3H@1&5L971E9" Q,C8S+@I*86X@(#,@
M,#0Z,#0Z,3 @<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y-CDM,ET@7DE#
M4%4@,"XP,G,O,"XP,G4@<V5C(&5L87!S960@,"XS-2!S96,N"DIA;B @,R P
M-#HP-#HQ,"!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDW,"TQ72!$14)5
M1SH@(%)E;6]V960@,3(V,R!T=7!L97,@:6X@.#8@<&%G97,N"DIA;B @,R P
M-#HP-#HQ,"!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDW,"TR72!>24-0
M52 P+C P<R\P+C S=2!S96,@96QA<'-E9" P+C R('-E8RX*2F%N(" S(# T
M.C T.C$P('-D<C(@<&]S=&=R97-;-38Q-5TZ(%LY,C0W.3<Q+3%=($1%0E5'
M.B @4&%G97,@,3@R.B!#:&%N9V5D(#(L($5M<'1Y(# [(%1U<" Q,34Y-3H@
M5F%C(#$R-C,L($ME97 @-#<X,RP@56Y5<V5D(#$Q,3$T+@I*86X@(#,@,#0Z
M,#0Z,3 @<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y-S$M,ET@7DE4;W1A
M;"!#4%4@,"XP-7,O,"XP-74@<V5C(&5L87!S960@,"XW,"!S96,N"DIA;B @
M,R P-#HP-#HQ,"!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDW,ET@1$5"
M54<Z(" M+5)E;&%T:6]N('5S97)?;F]T97,M+0I*86X@(#,@,#0Z,#0Z,3 @
M<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y-S,M,5T@1$5"54<Z("!086=E
M<R R-#8Z($-H86YG960@,"P@16UP='D@,#L@5'5P(#(R-3 W.B!686,@,"P@
M2V5E<" P+"!5;E5S960@,2X*2F%N(" S(# T.C T.C$P('-D<C(@<&]S=&=R
M97-;-38Q-5TZ(%LY,C0W.3<S+3)=(%Y)5&]T86P@0U!5(# N,#-S+S N,#%U
M('-E8R!E;&%P<V5D(# N,C<@<V5C+@I*86X@(#,@,#0Z,#0Z,3 @<V1R,B!P
M;W-T9W)E<ULU-C$U73H@6SDR-#<Y-S1=($1%0E5'.B @+2U296QA=&EO;B!U
M<V5R7W1R869F:6,M+0I*86X@(#,@,#0Z,#0Z,C(@<V1R,B!P;W-T9W)E<ULU
M-C$U73H@6SDR-#<Y-S4M,5T@1$5"54<Z("!);F1E>"!U<V5R7W1R869F:6-?
M<&ME>3H@4&%G97,@,38U-3L@5'5P;&5S(#4U-S@R.B!$96QE=&5D(#$T,3$Y
M+@I*86X@(#,@,#0Z,#0Z,C(@<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y
M-S4M,ET@7DE#4%4@,"XR-7,O,"XQ-G4@<V5C(&5L87!S960@,3$N-#(@<V5C
M+@I*86X@(#,@,#0Z,#0Z,S @<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y
M-S8M,5T@1$5"54<Z("!);F1E>"!I9'A?=7-E<E]U<V5R7W1R869F:6,Z(%!A
M9V5S(#$S-3$[(%1U<&QE<R U-3<X.#H@1&5L971E9" Q-#$Q.2X*2F%N(" S
M(# T.C T.C,P('-D<C(@<&]S=&=R97-;-38Q-5TZ(%LY,C0W.3<V+3)=(%Y)
M0U!5(# N,S)S+S N,3-U('-E8R!E;&%P<V5D(#@N,SD@<V5C+@I*86X@(#,@
M,#0Z,#4Z,S4@<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y-S<M,5T@1$5"
M54<Z("!);F1E>"!I9'A?8V]N=')A8W1?=7-E<E]T<F%F9FEC.B!086=E<R X
M-#4X.R!4=7!L97,@-34X,#0Z($1E;&5T960@,30Q,3DN"DIA;B @,R P-#HP
M-3HS-2!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDW-RTR72!>24-052 Q
M+C<V<R\P+C(V=2!S96,@96QA<'-E9" V-"XT."!S96,N"DIA;B @,R P-#HP
M-3HS-2!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDW."TQ72!$14)51SH@
M(%)E;6]V960@,30Q,3D@='5P;&5S(&EN(#(S-2!P86=E<RX*2F%N(" S(# T
M.C U.C,U('-D<C(@<&]S=&=R97-;-38Q-5TZ(%LY,C0W.3<X+3)=(%Y)0U!5
M(# N,#)S+S N,#5U('-E8R!E;&%P<V5D(# N,#4@<V5C+@I*86X@(#,@,#0Z
M,#4Z,S4@<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y-SDM,5T@1$5"54<Z
M("!086=E<R Q-3 R.B!#:&%N9V5D(#(L($5M<'1Y(# [(%1U<" U-3<W.3H@
M5F%C(#$T,3$Y+"!+965P(#0X-3,X+"!5;E5S960@,3 Y,#,R+@I*86X@(#,@
M,#0Z,#4Z,S4@<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y-SDM,ET@7DE4
M;W1A;"!#4%4@,BXS-7,O,"XV-'4@<V5C(&5L87!S960@.#0N,SD@<V5C+@I*
M86X@(#,@,#0Z,#4Z,S4@<V1R,B!P;W-T9W)E<ULU-C$U73H@6SDR-#<Y.#!=
M($1%0E5'.B @+2U296QA=&EO;B!U<V5R<RTM"DIA;B @,R P-#HP-3HS-2!S
M9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDX,2TQ72!$14)51SH@(%!A9V5S
M(#,U-SH@0VAA;F=E9" P+"!%;7!T>2 P.R!4=7 @-#DY,#H@5F%C(# L($ME
M97 @,"P@56Y5<V5D(# N"DIA;B @,R P-#HP-3HS-2!S9'(R('!O<W1G<F5S
M6S4V,35=.B!;.3(T-SDX,2TR72!>251O=&%L($-052 P+C W<R\P+C P=2!S
M96,@96QA<'-E9" P+C,T('-E8RX*2F%N(" S(# T.C U.C,U('-D<C(@<&]S
M=&=R97-;-38Q-5TZ(%LY,C0W.3@R72!$14)51SH@($-O;6UI=%1R86YS86-T
M:6]N0V]M;6%N9 I*86X@(#,@,#0Z,#4Z,S4@<V1R,B!P;W-T9W)E<ULU-C$U
M73H@6SDR-#<Y.#-=($1%0E5'.B @<')O8U]E>&ET*# I"DIA;B @,R P-#HP
M-3HS-2!S9'(R('!O<W1G<F5S6S4V,35=.B!;.3(T-SDX-%T@1$5"54<Z("!S
M:&UE;5]E>&ET*# I"DIA;B @,R P-#HP-3HS-2!S9'(R('!O<W1G<F5S6S4V
?,35=.B!;.3(T-SDX-5T@1$5"54<Z("!E>&ET*# I"@``
`
end

begin 666 Weekly graph.png
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
M3XYKPV7Z:Z%?U8OASP?<I)0K?M7T%%QIOVK^("]CU7Q]1[%5[B]P8AJD[(A
M=;'*:C4BMLH]5MI!2$J4/P&G7?7>68A:@,*,@C%>]AX0V,P,`JA26*WA5Q%2
M>0.+SAGRO.$F106=5?W:I_'0UN&TJ@RJ0O)$JI5P:M%[0* Q._"ANDWM+-1G
M%9!RQ@^]2(UX,:N@3Z2G=#BM\J%*_7I.]?> LP>WKR!0]7>QSX#(`"I6>C(]
M@&K:53B?*_M5\&BR79N^-'^6^57S?+<'*#0.U\Y^U>0P3F<6L6I:Y'1NP*JL
M%_&1#:";FYD9U+99Y@)],34$JHN5I(ER5T">?:D:ED!W70Z@ROJ26V !RA+0
MJM) H$K5=AK&2)5?95#-) ^U5ZN!5FM4R,H0J%(<`52]<LA-U8@J#Z#*FH#.
M6)7>H$WE@4"5JF\W+E4VD1] Y:Z Y&:=Y> >[[GSKGLMORIWL[-#!Q0J"%1*
MAE/#8E7!<Z8C*@$5GRL>3A@_\:_PU=E9. & 18% E1(QLFJQRB14UF%LAJK"
MN?7??S>_A6X.A^/C$>&<C+GGUKU?3Y^O/#BW[DY S+JZY]93/,C-G\FJQ:1*
M[E>Q@0JAZI<4T/O.L@?)#+3X`CAD[=MH!62]'=06*T]-0':S>JA&LSY:@)DQ
M((46+P[>LB3T[<LJ/%TH#57-%7#I(H2^&!X*5"F.&,9CB#I43]6P=3@U4E!Y
MIFO9"H@&HRD5@K<L&8956643A0*H5CP+2DAU:$[QP*)V`:L$A(7*%:@RCG?T
M%F#69U5.S=H%K:,YA"IQ%K1\OXKW?IP-(&P&F6!^QHS]JF(=3JN"_:J5SH+6
M&5B92!*^V3?1./.^DNZ 58$=]Q+*G@'GG;I$QU,.ET!UL<IJ-8"4EF'5R[2@
M95#-LE'UQM7A3C:KG%H+;@*HLB9@TBD'EG<(J2S-@#H#:U,AEU54IX[R`*H5
MO@](2*UP9;*JGO(RJ&:Q"HVM,[! W(@2J"Y6DJ:CHO(`JNJ[H&CL;JRJJ#B
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
MT:1C6V\U3"*"(U#1;A P.V.3G#N*P16H*(X(BY2(2<>]V;&D,B*!2\DN"L%
MR `20HLW)'A[<Y! LL:2K([_IUQ.?R9,J:349CF<OO$50(7-(;-O1N.-!G&[
M)((]28HS:?HLBO!M7]1$N(=$"%.($T4:]1?_.(7G(J!"X3%=2J*N%#,:!ZBD
M_)&@0M,HX/;VP&!6<J]D<PE=X?'F"(J:B$#%288*1@B5&J R9>@#2%/ZD(((
M585\28=222<A, R0OE40L(J&F1I.5T]XT]X0*F"#/5! U;-,A8IZQB5)2 @5
M5V2E# 4%K)U+<DA0#>F F-/I?\HY!%2T6\A0P8QRH^BB."*PL-1FGDT<IXL*
MFY)2`EVA="&*F40B`0!P%O^C6OS)DL5P,PB4PGN5LA_*Q@RW@-!8?U9-B?C'
MV1M>`ZM\ORK6!N[-S,NNXL5Q"T@P%G;NM)+\DM-R9N0.4.76J=M&DF;8:?B[
M3S.RM,Z&*DOJ519J4&4/:X.J096-0';!QJH&538"V06)5;_\VJXL!#[?9!5K
;A7[]]?/_`6R!QR$1AG^@`````$E%3D2N0F""
`
end

begin 666 Daily graph.png
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
;J=+GSY_^#QYJ4@SJZF*)`````$E%3D2N0F""
`
end


Re: Vacuum meaning

From
Robert Treat
Date:
The purpose of a regular aka "lazy" vacuum is to mark dead tuples
generated from updates and deletions as reusable by future inserts and
updates. It doesn't recover any disk space, but allows currently wasted
space to be reused. "Full" vacuums, otoh, serve the purpose of
reclaiming unused space.

You're attachments of vacuum output don't seem right to me, as the 6:00
output had no user defined tables in it, only system tables.

However, based on your 4:00 output, I'd say you need to start doing more
frequent lazy vacuums on user_logs_digest and user_traffic. Try and
determine how long it takes for 15% of those tables to be updated or
delete/insert and then set a cron task to do a lazy vacuum analyze at
that frequency. (This is in additional to regular vacuuming on the rest
of the database)

It's possible your suffering index bloat as well and you might need to
do some regular reindexing, but I'd try the above first and see if it
helps.

Robert Treat

On Fri, 2003-01-03 at 06:48, Gaetano Mendola wrote:
> Hi all, happy new year.
>
> I have a Postgresql server 7.2.2 running 24/24  7/7,
> is not so much stressed till now but how you can imagine
> the DB disk space grow each day.
> I scheduled twice a day a vacuum but I don't see any space,
> on the disk, free after these two vacuum.
> The only way to obtain same space free is do a reindex on a table with
> 13 indexes, but anyway is not the same free space that I expect to obtain
> with a vacuum. I tried once a week to do a vacuum full, and in this case
> I obtain a lot of space but since last week I can't do anymore a vacuum full
> otherwise the process that do vacuum hang and all future connection to the
> DB hang too till I reach the 64 max connections.
> I tried too to do a reindex on another big table ( ~10^6 rows ) but I cant
> otherwise all processes hang.
> My question is:
>
> What is the meaning of the vacuum if the space on the DB continue to grown?
> The vacuum operazion don't seem mark some rows to be again utilizable.
> You can find attached the result of a vacuum sheduled at 4:00 AM and of a
> vacuum analyze scheduled at 6:00 AM.
> And a picture of how the disk usage continue to grown... :-(
>
> What is going on ? Any suggestion ?
>
>
> Ciao
> Gaetano




Vacuuming and re-indexing (was Re: Vacuum meaning)

From
"David F. Skoll"
Date:
On Fri, 3 Jan 2003, Robert Treat wrote:

> The purpose of a regular aka "lazy" vacuum is to mark dead tuples
> generated from updates and deletions as reusable by future inserts and
> updates. It doesn't recover any disk space, but allows currently wasted
> space to be reused. "Full" vacuums, otoh, serve the purpose of
> reclaiming unused space.

The whole "vaccuum" concept is, IMHO, one of the weakest aspects of
PostgreSQL.  It really makes it difficult to build products around
PostgreSQL unless you have a good idea of the database churn, which
isn't always possible.

Is there any way to adaptively vacuum the database?  By this, I mean
is it possible to run a query every few minutes and decide to vacuum
based on the query results?

> However, based on your 4:00 output, I'd say you need to start doing more
> frequent lazy vacuums on user_logs_digest and user_traffic. Try and
> determine how long it takes for 15% of those tables to be updated or
> delete/insert and then set a cron task to do a lazy vacuum analyze at
> that frequency. (This is in additional to regular vacuuming on the rest
> of the database)

Is there any query that can return that info?  A query that tells how
many dead tuples there are?

> It's possible your suffering index bloat as well and you might need to
> do some regular reindexing,

Again, this sounds ugly.  How do you determine this?  How do you get your
database to be reindexed as often as needed, but not too often?

--
David.

Upgrade Procedures

From
Naomi Walker
Date:

>The whole "vaccuum" concept is, IMHO, one of the weakest aspects of
>PostgreSQL.

Speaking of which, we love Postgresql, but I am concerned about the fact
that major upgrades require unloading and reloading the database.  We are
small enough now, so it is not really a concern.  I cannot imagine this
happening with really large database clusters (>50-100gigs).

I know for minor releases, there are upgrade programs to let this happen in
place.  Is there any plan for not always having to load and reload in the
future?

----------------------------------------------------------------------------
----------------------------------
Naomi Walker
Eldorado Computing, Inc
Chief Information Officer
nwalker@eldocomp.com
602-604-3100 x242



Re: Upgrade Procedures

From
"Steve Wolfe"
Date:
> Speaking of which, we love Postgresql, but I am concerned about the fact
> that major upgrades require unloading and reloading the database.  We
are
> small enough now, so it is not really a concern.  I cannot imagine this
> happening with really large database clusters (>50-100gigs).
>
> I know for minor releases, there are upgrade programs to let this happen
in
> place.  Is there any plan for not always having to load and reload in
the
> future?

  It can be a pain in the butt, but I'm glad that it's done that way.  I'd
rather take a small bite up front rather than have the development team
incorporate backwards-compatibility, which even if it COULD be done, would
probably hinder development much more than would be prudent.

steve


Re: Vacuuming and re-indexing (was Re: Vacuum meaning)

From
"Gaetano Mendola"
Date:
""David F. Skoll"" <dfs@roaringpenguin.com> wrote in message
news:Pine.LNX.4.50.0301031015260.2549-100000@shishi.roaringpenguin.com...
> > It's possible your suffering index bloat as well and you might need to
> > do some regular reindexing,
>
> Again, this sounds ugly.  How do you determine this?  How do you get your
> database to be reindexed as often as needed, but not too often?

Sound more ugly considering that some times the reindex is not possible
if the server is stressed ( the reindex hang ) for my experience
instead of do a reindex is better delete the indexes and recreate them.

With the following query you can obtain the size of each table or index:

SELECT relname, relpages * 8 AS Mb, reltuples
FROM pg_class
ORDER BY relpages DESC
LIMIT 10;

If you use the 7.3 I think you should multiply for 11.





Ciao
Gaetano.



Re: Upgrade Procedures

From
Tom Lane
Date:
"Steve Wolfe" <nw@codon.com> writes:
>> I know for minor releases, there are upgrade programs to let this happen
>> in
>> place.  Is there any plan for not always having to load and reload in
>> the
>> future?

>   It can be a pain in the butt, but I'm glad that it's done that way.  I'd
> rather take a small bite up front rather than have the development team
> incorporate backwards-compatibility, which even if it COULD be done, would
> probably hinder development much more than would be prudent.

This is, um, an ancient topic.  See thread "Upgrading rant" now in
progress on pgsql-hackers for the latest rehash of the arguments ...

            regards, tom lane

Re: Vacuuming and re-indexing (was Re: Vacuum meaning)

From
Bruce Momjian
Date:
No question vacuuming is ugly.  My hope is that some of the statistics
collection can be used to automatic vacuum for 7.4.  We have some folks
working on that.

---------------------------------------------------------------------------

David F. Skoll wrote:
> On Fri, 3 Jan 2003, Robert Treat wrote:
>
> > The purpose of a regular aka "lazy" vacuum is to mark dead tuples
> > generated from updates and deletions as reusable by future inserts and
> > updates. It doesn't recover any disk space, but allows currently wasted
> > space to be reused. "Full" vacuums, otoh, serve the purpose of
> > reclaiming unused space.
>
> The whole "vaccuum" concept is, IMHO, one of the weakest aspects of
> PostgreSQL.  It really makes it difficult to build products around
> PostgreSQL unless you have a good idea of the database churn, which
> isn't always possible.
>
> Is there any way to adaptively vacuum the database?  By this, I mean
> is it possible to run a query every few minutes and decide to vacuum
> based on the query results?
>
> > However, based on your 4:00 output, I'd say you need to start doing more
> > frequent lazy vacuums on user_logs_digest and user_traffic. Try and
> > determine how long it takes for 15% of those tables to be updated or
> > delete/insert and then set a cron task to do a lazy vacuum analyze at
> > that frequency. (This is in additional to regular vacuuming on the rest
> > of the database)
>
> Is there any query that can return that info?  A query that tells how
> many dead tuples there are?
>
> > It's possible your suffering index bloat as well and you might need to
> > do some regular reindexing,
>
> Again, this sounds ugly.  How do you determine this?  How do you get your
> database to be reindexed as often as needed, but not too often?
>
> --
> David.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Re: Vacuuming and re-indexing (was Re: Vacuum meaning)

From
Jeff Boes
Date:
On Fri, 03 Jan 2003 10:19:44 -0500, David F. Skoll wrote:

> Is there any way to adaptively vacuum the database?  By this, I mean is
> it possible to run a query every few minutes and decide to vacuum based
> on the query results?

You may want to investigate this:

http://gborg.postgresql.org/project/pgavd/projdisplay.php

I started to, but haven't had the time to really dig into it.



--
Jeff Boes                                      vox 616.226.9550 ext 24
Database Engineer                                     fax 616.349.9076
Nexcerpt, Inc.                                 http://www.nexcerpt.com
           ...Nexcerpt... Extend your Expertise