Обсуждение: pgsql: Add 'basebackup_to_shell' contrib module.

Поиск
Список
Период
Сортировка

pgsql: Add 'basebackup_to_shell' contrib module.

От
Robert Haas
Дата:
Add 'basebackup_to_shell' contrib module.

As a demonstration of the sort of thing that can be done by adding a
custom backup target, this defines a 'shell' target which executes a
command defined by the system administrator. The command is executed
once for each tar archive generate by the backup and once for the
backup manifest, if any. Each time the command is executed, it
receives the contents of th file for which it is executed via standard
input.

The configured command can use %f to refer to the name of the archive
(e.g. base.tar, $TABLESPACE_OID.tar, backup_manifest) and %d to refer
to the target detail (pg_basebackup --target shell:DETAIL). A target
detail is required if %d appears in the configured command and
forbidden if it does not.

Patch by me, reviewed by Abhijit Menon-Sen.

Discussion: http://postgr.es/m/CA+TgmoaqvdT-u3nt+_kkZ7bgDAyqDB0i-+XOMmr5JN2Rd37hxw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/c6306db24bd913375f99494e38ab315befe44e11

Modified Files
--------------
contrib/Makefile                                  |   1 +
contrib/basebackup_to_shell/Makefile              |  19 +
contrib/basebackup_to_shell/basebackup_to_shell.c | 419 ++++++++++++++++++++++
doc/src/sgml/basebackup-to-shell.sgml             |  69 ++++
doc/src/sgml/contrib.sgml                         |   1 +
doc/src/sgml/filelist.sgml                        |   1 +
6 files changed, 510 insertions(+)


Re: pgsql: Add 'basebackup_to_shell' contrib module.

От
Andres Freund
Дата:
Hi,

On 2022-03-15 17:33:12 +0000, Robert Haas wrote:
> Add 'basebackup_to_shell' contrib module.
> 
> As a demonstration of the sort of thing that can be done by adding a
> custom backup target, this defines a 'shell' target which executes a
> command defined by the system administrator. The command is executed
> once for each tar archive generate by the backup and once for the
> backup manifest, if any. Each time the command is executed, it
> receives the contents of th file for which it is executed via standard
> input.
> 
> The configured command can use %f to refer to the name of the archive
> (e.g. base.tar, $TABLESPACE_OID.tar, backup_manifest) and %d to refer
> to the target detail (pg_basebackup --target shell:DETAIL). A target
> detail is required if %d appears in the configured command and
> forbidden if it does not.
> 
> Patch by me, reviewed by Abhijit Menon-Sen.

> Modified Files
> --------------
> contrib/Makefile                                  |   1 +
> contrib/basebackup_to_shell/Makefile              |  19 +
> contrib/basebackup_to_shell/basebackup_to_shell.c | 419 ++++++++++++++++++++++
> doc/src/sgml/basebackup-to-shell.sgml             |  69 ++++
> doc/src/sgml/contrib.sgml                         |   1 +
> doc/src/sgml/filelist.sgml                        |   1 +
> 6 files changed, 510 insertions(+)

Seems like this ought to have at least some basic test to make sure it
actually works / keeps working?

Greetings,

Andres Freund



Re: pgsql: Add 'basebackup_to_shell' contrib module.

От
Robert Haas
Дата:
On Tue, Mar 15, 2022 at 3:04 PM Andres Freund <andres@anarazel.de> wrote:
> Seems like this ought to have at least some basic test to make sure it
> actually works / keeps working?

Wouldn't hurt, although it may be a little bit tricky to getting it
work portably. I'll try to take a look at it.

-- 
Robert Haas
EDB: http://www.enterprisedb.com