= SkyTools - tools for PostgreSQL =

This is a package of tools in use in Skype for replication and
failover.  Also it includes a generic queuing mechanism PgQ and
utility library for Python scripts.

== Overview ==

It contains following tools:

=== PgQ ===

This is the queue machanism we use.  Consists of PL/pgsql, and C code
in database, with Python framework on top of it.  It is based on
snapshot based event handling ideas from Slony-I, written for general
usage.

Features:

- There can be several queues in database.
- There can be several producers than can insert into any queue.
- There can be several consumers on one queue and all consumers see
   all events.

Documentation:

- PgQ admin tool (pgqadm) usage: doc/pgq-admin.txt
- PgQ SQL API overview: doc/pgq-sql.txt
- PgQ SQL reference: http://skytools.projects.postgresql.org/pgq/

=== Londiste ===

Replication tool written in Python, using PgQ as event transport.

Features:

- Tables can be added one-by-one into set.
- Initial COPY for one table does not block event replay for other
  tables.
- Can compare tables on both sides.

Documentation:

- Londiste script usage: doc/londiste.cmdline.txt
  (also available as `man 1 londiste`)
- Londiste configuration: doc/londiste.config.txt
  (also available as `man 5 londiste`)
- Londiste reference: doc/londiste.ref.txt

=== walmgr ===

This script will setup WAL archiving, does initial backup and
runtime WAL archive and restore.


