Two bugfixes to Barman mode

- we forgot to recreate an empty pg_replslot;
- we parse tablespace info more safely.
This commit is contained in:
Gianni Ciolli
2016-07-28 17:10:51 +02:00
parent a4ee10ca22
commit 3bccd79510

View File

@@ -1628,6 +1628,7 @@ get_tablespace_data_barman
tablespace_list->tail = NULL; tablespace_list->tail = NULL;
p = string_skip_prefix("[", p); p = string_skip_prefix("[", p);
if (p == NULL) return -1;
while (*p == '(') while (*p == '(')
{ {
@@ -2187,7 +2188,7 @@ do_standby_clone(void)
while (fgets(buf, MAXLEN, fi2) != NULL) while (fgets(buf, MAXLEN, fi2) != NULL)
{ {
q = string_skip_prefix("tablespaces=", buf); q = string_skip_prefix("tablespaces=", buf);
if (q != NULL) if (q != NULL && strncmp(q, "None\n", 5))
{ {
get_tablespace_data_barman get_tablespace_data_barman
(q, &tablespace_list); (q, &tablespace_list);
@@ -2294,14 +2295,14 @@ do_standby_clone(void)
/* Only from 9.5 */ /* Only from 9.5 */
"pg_commit_ts", "pg_commit_ts",
/* Only from 9.4 */ /* Only from 9.4 */
"pg_dynshmem", "pg_logical", "pg_dynshmem", "pg_logical", "pg_replslot",
/* Already in 9.3 */ /* Already in 9.3 */
"pg_serial", "pg_snapshots", "pg_stat", "pg_stat_tmp", "pg_tblspc", "pg_serial", "pg_snapshots", "pg_stat", "pg_stat_tmp", "pg_tblspc",
"pg_twophase", "pg_xlog", 0 "pg_twophase", "pg_xlog", 0
}; };
const int vers[] = { const int vers[] = {
90500, 90500,
90400, 90400, 90400, 90400, 90400,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 0, 0, 0
}; };