mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2024-11-28 09:33:54 +02:00
6de8b16403
This new facility has the advantage on not relying on static data when generating the tests making the whole facility more robust. This is basically taken from the upstream project pg_rman and adapted for the sake of this pet project, so most of the credit go to Kyotaro Horiguchi and Amit Langote regarding this facility. However I have adapted a bunch of things and fixed a lot of redundancy and code duplication.
87 lines
2.6 KiB
Plaintext
87 lines
2.6 KiB
Plaintext
pg_arman
|
|
========
|
|
|
|
pg_arman is a backup and recovery manager for PostgreSQL servers able to do
|
|
differential and full backup as well as restore a cluster to a
|
|
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
|
|
server because of a reason or another. Its differential backup
|
|
facility reduces the amount of data necessary to be taken between
|
|
two consecutive backups.
|
|
|
|
Download
|
|
--------
|
|
|
|
The latest version of this software can be found on the project website at
|
|
https://github.com/michaelpq/pg_arman.
|
|
|
|
Installation
|
|
------------
|
|
|
|
Compiling pg_arman requires a PostgreSQL installation and can be done in
|
|
two ways:
|
|
|
|
1. Put pg_arman project directory inside PostgreSQL source tree as
|
|
contrib/pg_arman, and use this command for compilation:
|
|
|
|
$ cd $POSTGRES_SOURCE/contrib/pg_arman
|
|
$ make
|
|
|
|
2. Keep the project directory as-is and use the PGXS development
|
|
infrastructure provided by a PostgreSQL installation to perform the
|
|
compilation:
|
|
|
|
$ make USE_PGXS=1
|
|
|
|
In addition, you must have pg_config in $PATH.
|
|
|
|
The current version of pg_arman is compatible with PostgreSQL 9.3 and
|
|
upper versions.
|
|
|
|
Platforms
|
|
---------
|
|
|
|
pg_arman has been tested on Linux and Unix-based platforms.
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
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.
|
|
|
|
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"
|
|
|
|
Regression tests
|
|
----------------
|
|
|
|
The test suite of pg_arman is available in the code tree and can be
|
|
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
|
|
-------
|
|
|
|
pg_arman can be distributed under the PostgreSQL license. See COPYRIGHT
|
|
file for more information. pg_arman is a fork of the existing project
|
|
pg_arman, initially created and maintained by NTT and Itagaki Takahiro.
|