PgToolkit v1.0.1 released - Mailing list pgsql-announce

From Sergey Konoplev
Subject PgToolkit v1.0.1 released
Date
Msg-id CAL_0b1uwTKuaauUaXnTXFs0_yr7X1wTT4j0y=enE+RPj5-ZdXw@mail.gmail.com
Whole thread Raw
List pgsql-announce
Hi everyone,

I am happy to announce a new release of PgToolkit
https://github.com/grayhemp/pgtoolkit.

# PgToolkit - tools for PostgreSQL maintenance

Currently the package contains the only tool `pgcompact`, we are
planning to add much more in the future. Stay tuned.

## Changes

### 2014-02-07 - PgToolkit v1.0.1

- Fixed the dependency check leading to the inability to re-index some
  primary keys
- Turned off statement timeouts for `pgcompact`'s sessions
- Increased the `psql` response timeout to 10 hours
- Removed the necessity to set `PERL5LIB` (thanks to Hubert "depesz"
  Lubaczewski)
- Fixed the completion check leading to unfinished processing in some
  cases
- Made the re-indexation process more lock-friendly by getting rid of
  long waiting for exclusive locks
- Added usage examples to the `--help` output
- Got rid of hard-coded connection parameters (thanks to Hubert
  "depesz" Lubaczewski)
- Allowed processing of the `postgres` and `template1` databases
- Resolved the several simultaneously running instances collisions
  issue (thanks to Gonzalo Gil)

## pgcompact

A tool to reduce bloat for tables and indexes without heavy locks and
full table rebuilding.

If [pgstattuple] is installed `pgcompact` uses it to get a better
statistics. It is highly recommended to be for `TOAST`ed tables and
indexes.

### Usage examples

Shows user manual.

    pgcompact --man

Compacts all the bloated tables in all the databases in the cluster
plus their bloated indexes. Prints additional progress information.

    pgcompact --all --reindex --verbose info

Compacts all the bloated tables in the billing database and their
bloated indexes excepts ones that are in the `pgq` schema.

    pgcompact --dbname billing --exclude-schema pgq --reindex

### Features

- Requires no dependencies except `Perl >=5.8.8`, so it can just be
  copied to server and run
- Works with `DBD::Pg`, `DBD::PgPP` or even using `psql` if there are
  no former ones, detects and chooses the best option automatically
- Can process specified tables, schemes, databases or the whole
  cluster
- Has an ability to exclude tables, schemes or databases from
  processing
- Bloat percentage analysis and processing of those tables that need
  it only, we recommend to install [pgstattuple] for more precise
  estimations
- Indexes bloat analysis and non blocking reindex of those that need
  it
- Analysis and rebuilding of bloated unique constraints and primary
  keys where possible
- Incremental processing, in other words one can stop the process and
  continue it at any time later
- Dynamic adjustment to current load of database to not affect its
  performance
- Instructs administrators, supplying them with ready to use DDL, to
  manually rebuild database objects that can not be rebuilt
  automatically

--
Kind regards,
Sergey Konoplev
PostgreSQL Consultant and DBA

http://www.linkedin.com/in/grayhemp
+1 (415) 867-9984, +7 (901) 903-0499, +7 (988) 888-1979
gray.ru@gmail.com


pgsql-announce by date:

Previous
From: Christian Kruse
Date:
Subject: repmgr 2.0RC1 released
Next
From: David Fetter
Date:
Subject: == PostgreSQL Weekly News - February 09 2014 ==