Is it ok to run vacuum full verbose command for live database for the tables which has more dead tuples?

Started by Raghavendra Rao J S Vover 7 years ago5 messagesgeneral
Jump to latest
#1Raghavendra Rao J S V
raghavendrajsv@gmail.com

We have thousands of tables. But out of those tables, around 20 to 40
tables are always busy due to that those tables are bloating.

In order to avoid this we are running a shell script which performs vacuum
full on the tables which has more than ten thousand dead tuples. While
running this we are stopping all application processors and running vacuum
full on the tables which has more dead tuples.

1. Is it ok to run *vacuum full verbose* command for live database for
the tables which has more dead tuples(greater than)?
2. Does it cause any *adverse *effect?

Please clarify me. Thanks in advance.

--
Regards,
Raghavendra Rao J S V

#2Fabio Pardi
f.pardi@portavita.eu
In reply to: Raghavendra Rao J S V (#1)
Re: Is it ok to run vacuum full verbose command for live database for the tables which has more dead tuples?

Hi Raghavendra

answers in line here below:

On 18/07/18 11:13, Raghavendra Rao J S V wrote:

We have thousands of tables. But out of those tables, around 20 to 40 tables are always busy due to that those tables are bloating.

In order to avoid this we are running a shell script which performs vacuum full on the tables which has more than ten thousand dead tuples. While running this we are stopping all application processors and running vacuum full on the tables which has more dead tuples.

1. Is it ok to run *vacuum full verbose* command for live database for the tables which has more dead tuples(greater than)?

nope

1. Does it cause any *adverse *effect?

exclusively locks the table. Recipe for disaster.

What's wrong with the normal operations of autovacuum?

regards,

fabio pardi

Show quoted text

Please clarify me. Thanks in advance.

--
Regards,
Raghavendra Rao J S V

#3Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Raghavendra Rao J S V (#1)
Re: Is it ok to run vacuum full verbose command for live database for the tables which has more dead tuples?

On 07/18/2018 02:13 AM, Raghavendra Rao J S V wrote:

We have thousands of tables. But out of those tables, around 20 to 40
tables are always busy due to that those tables are bloating.

Define bloating?

In order to avoid this we are running a shell script which performs
vacuum full on the tables which has more than ten thousand dead tuples.

Out of how many live tuples?

While running this we are stopping all application processors and
running vacuum full on the tables which has more dead tuples.

1. Is it ok to run *vacuum full verbose* command for live database for
the tables which has more dead tuples(greater than)?
2. Does it cause any *adverse *effect?

https://www.postgresql.org/docs/10/static/sql-vacuum.html

"FULL

Selects “full” vacuum, which can reclaim more space, but takes much
longer and exclusively locks the table. This method also requires extra
disk space, since it writes a new copy of the table and doesn't release
the old copy until the operation is complete. Usually this should only
be used when a significant amount of space needs to be reclaimed from
within the table.
"

Please clarify me. Thanks in advance.

--
Regards,
Raghavendra Rao J S V

--
Adrian Klaver
adrian.klaver@aklaver.com

#4Raghavendra Rao J S V
raghavendrajsv@gmail.com
In reply to: Adrian Klaver (#3)
Re: Is it ok to run vacuum full verbose command for live database for the tables which has more dead tuples?

Please find my inline comments.

On 18 July 2018 at 18:48, Adrian Klaver <adrian.klaver@aklaver.com> wrote:

On 07/18/2018 02:13 AM, Raghavendra Rao J S V wrote:

We have thousands of tables. But out of those tables, around 20 to 40
tables are always busy due to that those tables are bloating.

Define bloating?

​ Table contains more dead tuples more than 5000 records. Sometimes few

tables may contains 50million records and size also in GB's. Refer below
screen print.

In order to avoid this we are running a shell script which performs vacuum

full on the tables which has more than ten thousand dead tuples.

Out of how many live tuples?

​Very less ​

While running this we are stopping all application processors and running

vacuum full on the tables which has more dead tuples.

1. Is it ok to run *vacuum full verbose* command for live database for
the tables which has more dead tuples(greater than)?
2. Does it cause any *adverse *effect?

​​
https://www.postgresql.org/docs/10/static/sql-vacuum.html

"FULL

Selects “full” vacuum, which can reclaim more space, but takes much
longer and exclusively locks the table. This method also requires extra
disk space, since it writes a new copy of the table and doesn't release the
old copy until the operation is complete. Usually this should only be used
when a significant amount of space needs to be reclaimed from within the
table.

​​

"

Please clarify me. Thanks in advance.

--
Regards,
Raghavendra Rao J S V

--
Adrian Klaver
adrian.klaver@aklaver.com

--
Regards,
Raghavendra Rao J S V
Mobile- 8861161425

Attachments:

image.pngimage/png; name=image.pngDownload+1-3
#5Ron
ronljohnsonjr@gmail.com
In reply to: Raghavendra Rao J S V (#4)
Re: Is it ok to run vacuum full verbose command for live database for the tables which has more dead tuples?

On 07/19/2018 06:00 AM, Raghavendra Rao J S V wrote:

Please find my inline comments.

On 18 July 2018 at 18:48, Adrian Klaver <adrian.klaver@aklaver.com
<mailto:adrian.klaver@aklaver.com>> wrote:

On 07/18/2018 02:13 AM, Raghavendra Rao J S V wrote:

We have thousands of tables. But out of those tables, around 20 to
40 tables are always busy due to that those tables are bloating.

Define bloating?

​ Table contains more dead tuples more than 5000 records.
Sometimes few tables may contains 50million records and size also
in GB's. Refer below screen print.

When's your maintenance window?

--
Angular momentum makes the world go 'round.

Attachments:

image.pngimage/png; name=image.pngDownload+1-3