Re: Add function to return backup_label and tablespace_map

Поиск
Список
Период
Сортировка
От David Steele
Тема Re: Add function to return backup_label and tablespace_map
Дата
Msg-id 3fdc52de-7dd1-5683-de0e-34c40a8a794e@pgmasters.net
обсуждение исходный текст
Ответ на Re: Add function to return backup_label and tablespace_map  (Julien Rouhaud <rjuju123@gmail.com>)
Ответы Re: Add function to return backup_label and tablespace_map  (David Steele <david@pgmasters.net>)
Список pgsql-hackers
On 7/8/22 08:22, Julien Rouhaud wrote:
> On Fri, Jul 8, 2022 at 7:42 PM David Steele <david@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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Backup command and functions can cause assertion failure and segmentation fault
Следующее
От: Christoph Berg
Дата:
Сообщение: Re: Add function to return backup_label and tablespace_map