Hi Igor
2011/12/16 Igor Neyman <iney...@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 versions prior 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 <iney...@perceptron.com>:
> From: Simon Windsor [mailto:simon.wind...@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 despite using Vacuum (daily at 0700) and 
> autovacuum (this does not seem to run, although the process is running). The 
> system is 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.wind...@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 considers price 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 versions prior 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

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to