Slony-I 2.2.10 Documentation
Prev | Fast Backward |  | Fast Forward | Next

# slony_logshipping

## Name

slony_logshipping -- slony_logshippping daemon

## slony_logshipper Tool

slony_logshipper is a tool designed to help apply logs. It runs as a daemon and scans the archive directory for new .SQL files which it then applies to the target database. It can be run with three sorts of parameters:

## Options

- Options, chosen from the following:

  - `h`

    display this help text and exit

  - `v`

    display program version and exit

  - `q`

    quiet mode

  - `l`

    cause running daemon to reopen its logfile

  - `r`

    cause running daemon to resume after error

  - `t`

    cause running daemon to enter smart shutdown mode

  - `T`

    cause running daemon to enter immediate shutdown mode

  - `c`

    destroy existing semaphore set and message queue (use with caution)

  - `f`

    stay in foreground (don't daemonize)

  - `w`

    enter smart shutdown mode immediately

- A specified log shipper configuration file

  This configuration file consists of the following specifications:

  - `logfile = './offline_logs/logshipper.log';`

    Where the log shipper will leave messages.

  - `cluster name = 'T1';`

    Cluster name

  - `destination database = 'dbname=slony_test3';`

    Optional conninfo for the destination database. If given, the log shipper will connect to this database, and apply logs to it.

  - `archive dir = './offline_logs';`

    The archive directory is required when running in "database-connected" mode to have a place to scan for missing (unapplied) archives.

  - `destination dir = './offline_result';`

    If specified, the log shipper will write the results of data massaging into result logfiles in this directory.

  - `max archives = 3600;`

    This fights eventual resource leakage; the daemon will enter "smart shutdown" mode automatically after processing this many archives.

  - `ignore table "public"."history";`

    One may filter out single tables from log shipped replication

  - `ignore namespace "public";`

    One may filter out entire namespaces from log shipped replication

  - `rename namespace "public"."history" to "site_001"."history";`

    One may rename specific tables.

  - `rename namespace "public" to "site_001";`

    One may rename entire namespaces.

  - `post processing command = 'gzip -9 $inarchive';`

    Pre- and post-processing commands are executed via `system(3)`.

  An "@" as the first character causes the exit code to be ignored. Otherwise, a nonzero exit code is treated as an error and causes processing to abort.

  Pre- and post-processing commands have two further special variables defined:

  - `$inarchive` - indicating incoming archive filename

  - `$outnarchive` - indicating outgoing archive filename

- `error command = ' ( echo "archive=$inarchive" echo "error messages:" echo "$errortext" ) | mail -s "Slony log shipping failed" postgres@localhost ';`

  The error command indicates a command to execute upon encountering an error. All logging since the last successful completion of an archive is available in the `$errortext` variable.

  In the example shown, this sends an email to the DBAs upon encountering an error.

- Archive File Names

  Each filename is added to the SystemV Message queue for processing by a slony_logshipper process.

Prev | Home | Next
SLONIK CLONE FINISH | Up | Appendix