On 7/8/22 08:22, Julien Rouhaud wrote:
On Fri, Jul 8, 2022 at 7:42 PM David Steele <da...@pgmasters.net> wrote:

On 7/7/22 12:43, Fujii Masao wrote:

Since an exclusive backup method was dropped in v15, in v15 or later, we
need to create backup_label and tablespace_map files from the result of
pg_backup_stop() when taking a base backup using low level backup API.
One issue when doing this is that; there is no simple way to create
those files from two columns "labelfile" and "spcmapfile" that
pg_backup_stop() returns if we execute it via psql. Probaby we need to
store those columns in a temporary file and run some OS commands or
script to separate that file into backup_label and tablespace_map.

Why not just select these columns into a temp table:

create temp table backup_result as select * from pg_backup_stop(...);

Then they can be easily dumped with \o by selecting from the temp table.

That wouldn't help people making backups from standby servers.

Ah, yes, good point. This should work on a standby, though:

select quote_literal(labelfile) as backup_label from pg_backup_stop(...) \gset
\pset tuples_only on
\pset format unaligned
\o /backup_path/backup_label
select :backup_label;

Regards,
-David


Reply via email to