Re: Vacuum and Large Objects

Поиск
Список
Период
Сортировка
От Stefan Keller
Тема Re: Vacuum and Large Objects
Дата
Msg-id CAFcOn2_ZaX-4EtMTwB9q75z=3sRp415UUyK87kid_80Hjjv8Dg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Vacuum and Large Objects  ("Igor Neyman" <ineyman@perceptron.com>)
Ответы Re: Vacuum and Large Objects  (Guillaume Lelarge <guillaume@lelarge.info>)
Re: Vacuum and Large Objects  ("Igor Neyman" <ineyman@perceptron.com>)
Re: Vacuum and Large Objects  ("Igor Neyman" <ineyman@perceptron.com>)
Список pgsql-general
Hi Igor
2011/12/16 Igor Neyman <ineyman@perceptron.com> wrote: > But I think,
your problem is right here:
>
> " running VACUUM FULL  pg_largeobject"
>
> If you are running "VACUUM FULL ..." on the table, you should follow it with the "REINDEX TABLE ...", at least on PG
versionsprior to 9.0. 

I'm pretty sure that VACUUM FULL builds new indexes. That's at least
of how I understand the docs, especially the first "tip" here
http://www.postgresql.org/docs/9.0/static/routine-vacuuming.html

Yours, Stefan


2011/12/16 Igor Neyman <ineyman@perceptron.com>:
> From: Simon Windsor [mailto:simon.windsor@cornfield.me.uk]
> Sent: Wednesday, December 14, 2011 3:02 PM
> To: pgsql-general@postgresql.org
> Subject: Vacuum and Large Objects
>
> Hi
>
> I am having problems recovering storage from a Postgres 9.05 database that is used to hold large XML blocks for a
week,before they are archived off line. 
>
> The main tables are partitioned in daily partitions, and these are easy to manage, however the DB keeps growing
despiteusing Vacuum (daily at 0700) and autovacuum (this does not seem to run, although the process is running). The
systemis insert only, and partitions are dropped when over 7 days of age. 
>
> I believe the issue lies with pg_largeobject, it is split between 88 files of approx. 1G each.
>
> The Postgres settings are default, EXCEPT
>
> grep ^[a-z] postgresql.conf
> listen_addresses = '*'          # what IP address(es) to listen on;
> port = 5432                             # (change requires restart)
> max_connections = 1000                  # (change requires restart)
> shared_buffers = 256MB                  # min 128kB
> work_mem = 4MB                          # min 64kB
> maintenance_work_mem = 256MB            # min 1MB
> vacuum_cost_delay = 20ms                # 0-100 milliseconds
> checkpoint_segments = 32                # in logfile segments, min 1, 16MB each
> checkpoint_completion_target = 0.9      # checkpoint target duration, 0.0 - 1.0
> checkpoint_warning = 60s                # 0 disables
> archive_mode = off              # allows archiving to be done
> constraint_exclusion = partition        # on, off, or partition
> log_destination = 'stderr'              # Valid values are combinations of
> logging_collector = on          # Enable capturing of stderr and csvlog
> silent_mode = on                        # Run server silently.
> log_checkpoints = on
> log_line_prefix = '%t %d %u '                   # special values:
> log_statement = 'none'                  # none, ddl, mod, all
> track_activities = on
> track_counts = on
> autovacuum = on                 # Enable autovacuum subprocess?  'on'
> log_autovacuum_min_duration = 250       # -1 disables, 0 logs all actions and
> autovacuum_max_workers = 3              # max number of autovacuum subprocesses
> autovacuum_naptime = 3min               # time between autovacuum runs
> autovacuum_vacuum_threshold = 500       # min number of row updates before
> autovacuum_analyze_threshold = 100      # min number of row updates before
> autovacuum_vacuum_scale_factor = 0.1    # fraction of table size before vacuum
> autovacuum_analyze_scale_factor = 0.05  # fraction of table size before analyze
> autovacuum_vacuum_cost_delay = 5ms      # default vacuum cost delay for
> autovacuum_vacuum_cost_limit = 200      # default vacuum cost limit for
> statement_timeout = 0                   # in milliseconds, 0 is disabled
> datestyle = 'iso, dmy'
> lc_messages = 'en_GB.UTF-8'                     # locale for system error message
> lc_monetary = 'en_GB.UTF-8'                     # locale for monetary formatting
> lc_numeric = 'en_GB.UTF-8'                      # locale for number formatting
> lc_time = 'en_GB.UTF-8'                         # locale for time formatting
> default_text_search_config = 'pg_catalog.english'
>
> Besides running VACUUM FULL  pg_largeobject;, is there a way I can get autovacuum to start and clear this up?
>
> All the best
>
> Simon
>
> Simon Windsor
> Eml: simon.windsor@cornfield.org.uk
> Tel: 01454 617689
> Mob: 07590 324560
>
> "There is nothing in the world that some man cannot make a little worse and sell a little cheaper, and he who
considersprice only is that man's lawful prey." 
>
>>
>>
>
> I might be a bit late in this discussion.
> But I think, your problem is right here:
>
> " running VACUUM FULL  pg_largeobject"
>
> If you are running "VACUUM FULL ..." on the table, you should follow it with the "REINDEX TABLE ...", at least on PG
versionsprior to 9.0. 
>
> Regards,
> Igor Neyman
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general

В списке pgsql-general по дате отправления:

Предыдущее
От: Kevin Duffy
Дата:
Сообщение: function return update count
Следующее
От: Misa Simic
Дата:
Сообщение: Re: function return update count