On Fri, Aug 1, 2014 at 8:35 PM, Fujii Masao <[email protected]> wrote:
> Hi,
>
> In 9.2, pg_receivexlog -v has emitted the messages as follows at the
> end of each WAL file.
>
> pg_receivexlog: finished segment at 0/2000000 (timeline 1)
> pg_receivexlog: finished segment at 0/3000000 (timeline 1)
> pg_receivexlog: finished segment at 0/4000000 (timeline 1)
>
> But, while reviewing the pg_receivexlog patch written by Furuya, I
> found that 0b63291 had
> broken this feature, and then now pg_receivexlog -v doesn't emit such
> messages at all.
> Attached patch fixes this problem. This needs to be back-patched to 9.3.
I found another problem on pg_receivexlog, which can cause the leak of
PGresult. The leak is small and rare, but it's better to fix that.
Patch attached.
Regards,
--
Fujii Masao
*** a/src/bin/pg_basebackup/receivelog.c
--- b/src/bin/pg_basebackup/receivelog.c
***************
*** 628,633 **** ReceiveXlogStream(PGconn *conn, XLogRecPtr startpos, uint32 timeline,
--- 628,634 ----
fprintf(stderr,
_("%s: unexpected termination of replication stream: %s"),
progname, PQresultErrorMessage(res));
+ PQclear(res);
goto error;
}
PQclear(res);
***************
*** 642,647 **** ReceiveXlogStream(PGconn *conn, XLogRecPtr startpos, uint32 timeline,
--- 643,650 ----
}
else if (PQresultStatus(res) == PGRES_COMMAND_OK)
{
+ PQclear(res);
+
/*
* End of replication (ie. controlled shut down of the server).
*
***************
*** 663,668 **** ReceiveXlogStream(PGconn *conn, XLogRecPtr startpos, uint32 timeline,
--- 666,672 ----
fprintf(stderr,
_("%s: unexpected termination of replication stream: %s"),
progname, PQresultErrorMessage(res));
+ PQclear(res);
goto error;
}
}
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers