2014-01-27 12:02:56 +09:00
|
|
|
pg_arman
|
|
|
|
========
|
2013-12-15 22:05:36 +09:00
|
|
|
|
2014-01-27 12:02:56 +09:00
|
|
|
pg_arman is a backup and recovery manager for PostgreSQL servers able to do
|
2014-01-30 15:36:22 +09:00
|
|
|
incremental and full backup as well as restore a cluster to a
|
2013-12-15 22:05:36 +09:00
|
|
|
state defined by a given recovery target. It is designed to perform
|
|
|
|
periodic backups of an existing PostgreSQL server, combined with WAL
|
|
|
|
archives to provide a way to recover a server in case of failure of
|
2014-01-30 15:36:22 +09:00
|
|
|
server because of a reason or another. Its incremental backup
|
|
|
|
facility reduces the amount of data necessary to be taken between
|
2013-12-15 22:05:36 +09:00
|
|
|
two consecutive backups.
|
|
|
|
|
|
|
|
Download
|
|
|
|
--------
|
|
|
|
|
|
|
|
The latest version of this software can be found on the project website at
|
2014-01-27 12:02:56 +09:00
|
|
|
https://github.com/michaelpq/pg_arman.
|
2013-12-15 22:05:36 +09:00
|
|
|
|
|
|
|
Installation
|
|
|
|
------------
|
|
|
|
|
2014-01-27 12:02:56 +09:00
|
|
|
Compiling pg_arman requires a PostgreSQL installation and can be done in
|
2013-12-15 22:05:36 +09:00
|
|
|
two ways:
|
|
|
|
|
2014-01-27 12:02:56 +09:00
|
|
|
1. Put pg_arman project directory inside PostgreSQL source tree as
|
|
|
|
contrib/pg_arman, and use this command for compilation:
|
2013-12-15 22:05:36 +09:00
|
|
|
|
2014-01-27 12:02:56 +09:00
|
|
|
$ cd $POSTGRES_SOURCE/contrib/pg_arman
|
2014-01-12 03:03:30 +09:00
|
|
|
$ make
|
2013-12-15 22:05:36 +09:00
|
|
|
|
|
|
|
2. Keep the project directory as-is and use the PGXS development
|
|
|
|
infrastructure provided by a PostgreSQL installation to perform the
|
2014-01-12 03:03:30 +09:00
|
|
|
compilation:
|
|
|
|
|
|
|
|
$ make USE_PGXS=1
|
2013-12-15 22:05:36 +09:00
|
|
|
|
|
|
|
In addition, you must have pg_config in $PATH.
|
|
|
|
|
2014-01-27 12:02:56 +09:00
|
|
|
The current version of pg_arman is compatible with PostgreSQL 9.3 and
|
2013-12-15 22:05:36 +09:00
|
|
|
upper versions.
|
|
|
|
|
2013-12-15 22:07:32 +09:00
|
|
|
Platforms
|
|
|
|
---------
|
|
|
|
|
2014-01-27 12:02:56 +09:00
|
|
|
pg_arman has been tested on Linux and Unix-based platforms.
|
2013-12-15 22:07:32 +09:00
|
|
|
|
2013-12-15 22:05:36 +09:00
|
|
|
Documentation
|
|
|
|
-------------
|
|
|
|
|
2014-01-12 03:03:30 +09:00
|
|
|
All the documentation is maintained in doc/ as text file, that is then
|
|
|
|
fetched by asciidoc to generate automatically man pages and html
|
|
|
|
documentation.
|
|
|
|
|
|
|
|
In order to generate the documentation, the variables XMLTO and ASCIIDOC
|
|
|
|
need to be set to proper values indicating where are located the binaries
|
|
|
|
of respectively xmlto and asciidoc. An example of build is as follows:
|
|
|
|
|
|
|
|
$ make USE_PGXS=1 ASCIIDOC=asciidoc XMLTO=xmlto
|
|
|
|
|
|
|
|
They could as well be set as environment variables for development
|
|
|
|
purposes.
|
2013-12-15 22:05:36 +09:00
|
|
|
|
2014-01-11 22:57:48 +09:00
|
|
|
On OSX, it is necessary to set XML_CATALOG_FILES to point to the correct
|
|
|
|
xml catalogs. In the case of an environment with Homebrew after having
|
|
|
|
install xmlto and asciidoc:
|
|
|
|
|
|
|
|
$ export XML_CATALOG_FILES="/usr/local/etc/xml/catalog"
|
|
|
|
|
2013-12-15 22:05:36 +09:00
|
|
|
Regression tests
|
|
|
|
----------------
|
|
|
|
|
2014-01-27 12:02:56 +09:00
|
|
|
The test suite of pg_arman is available in the code tree and can be
|
2013-12-15 22:05:36 +09:00
|
|
|
launched in a way similar to common PostgreSQL extensions and modules:
|
|
|
|
|
|
|
|
1) "make check" or "make installcheck" if the project directory is
|
|
|
|
located in PostgreSQL code tree.
|
|
|
|
|
|
|
|
2) "make installcheck" on an already installed server if project
|
|
|
|
directory is kept as-is.
|
|
|
|
|
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
2014-01-27 12:02:56 +09:00
|
|
|
pg_arman can be distributed under the PostgreSQL license. See COPYRIGHT
|
2014-01-27 12:19:00 +09:00
|
|
|
file for more information. pg_arman is a fork of the existing project
|
|
|
|
pg_rman, initially created and maintained by NTT and Itagaki Takahiro.
|