[HACKERS] [patch] reorder tablespaces in basebackup tar stream forbackup_label
От | Michael Banck |
---|---|
Тема | [HACKERS] [patch] reorder tablespaces in basebackup tar stream forbackup_label |
Дата | |
Msg-id | 1487672275.15458.15.camel@credativ.de обсуждение исходный текст |
Ответы |
Re: [HACKERS] [patch] reorder tablespaces in basebackup tar streamfor backup_label
Re: [HACKERS] [patch] reorder tablespaces in basebackup tar streamfor backup_label Re: [patch] reorder tablespaces in basebackup tar streamfor backup_label |
Список | pgsql-hackers |
Hi, currently, the backup_label and (I think) the tablespace_map files are (by design) conveniently located at the beginning of the main tablespace tarball when making a basebackup. However, (by accident or also by design?) the main tablespace is the last tarball[1] to be streamed via the BASE_BACKUP replication protocol command. For pg_basebackup, this is not a real problem, as either each tablespace is its own tarfile (in tar format mode), or the files are extracted anyway (in plain mode). However, third party tools using the BASE_BACKUP command might want to extract the backup_label, e.g. in order to figure out the START WAL LOCATION. If they make a big tarball for the whole cluster potentially including all external tablespaces, then the backup_label file is somewhere in the middle of it and it takes a long time for tar to extract it. So I am proposing the attached patch, which sends the base tablespace first, and then all the other external tablespaces afterwards, thus having base_backup be the first file in the tar in all cases. Does anybody see a problem with that? Michael [1] Chapter 52.3 of the documentation says "one or more CopyResponse results will be sent, one for the main data directory and one for each additional tablespace other than pg_default and pg_global.", which makes it sound like the main data directory is first, but in my testing, this is not the case. -- Michael Banck Projektleiter / Senior Berater Tel.: +49 2166 9901-171 Fax: +49 2166 9901-100 Email: michael.banck@credativ.de credativ GmbH, HRB Mönchengladbach 12080 USt-ID-Nummer: DE204566209 Trompeterallee 108, 41189 Mönchengladbach Geschäftsführung: Dr. Michael Meskes, Jörg Folz, Sascha Heuer -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Вложения
В списке pgsql-hackers по дате отправления: