修改问题,有false状态的逻辑复制槽残留时备份报错信息提示不准确
This commit is contained in:
@ -1177,7 +1177,7 @@ pg_start_backup(const char *label, bool smooth, pgBackup *backup,
|
||||
securec_check_for_sscanf_s(ret, 2, "\0", "\0");
|
||||
repslotLsn = ((uint64) lsn_hi )<< 32 | lsn_lo;
|
||||
startLsn = Min(startLsn, repslotLsn);
|
||||
|
||||
|
||||
char* slotname = pg_strdup(PQgetvalue(res, i, 0));
|
||||
parray_append(logical_replslot, slotname);
|
||||
}
|
||||
|
||||
@ -101,10 +101,27 @@ pg_ptrack_get_pagemapset(PGconn *backup_conn, XLogRecPtr lsn)
|
||||
PQclear(res);
|
||||
elog(INFO, "change bitmap end lsn location is %s", params[1]);
|
||||
|
||||
res = pgut_execute(backup_conn,
|
||||
"SELECT path,changed_block_number,changed_block_list "
|
||||
"FROM pg_cbm_get_changed_block($1, $2)",
|
||||
2, (const char **) params);
|
||||
const char *query = "SELECT path,changed_block_number,changed_block_list FROM \
|
||||
pg_cbm_get_changed_block($1, $2)";
|
||||
|
||||
|
||||
res = pgut_execute_extended(backup_conn, query,
|
||||
2, (const char **) params, true, true);
|
||||
|
||||
switch (PQresultStatus(res))
|
||||
{
|
||||
case PGRES_TUPLES_OK:
|
||||
case PGRES_COMMAND_OK:
|
||||
case PGRES_COPY_IN:
|
||||
break;
|
||||
default:
|
||||
elog(ERROR, "query failed: %s query was: %s\n"
|
||||
"Please check the replication slots, if it has slots useless,"
|
||||
"delete it and try again.",
|
||||
PQerrorMessage(backup_conn), query);
|
||||
break;
|
||||
}
|
||||
|
||||
pfree(params[0]);
|
||||
pfree(params[1]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user