diff --git a/bin/pg_reorg.c b/bin/pg_reorg.c index 2939f4c..e6e7d62 100755 --- a/bin/pg_reorg.c +++ b/bin/pg_reorg.c @@ -26,9 +26,13 @@ const char *PROGRAM_EMAIL = "reorg-general@lists.pgfoundry.org"; */ #define APPLY_COUNT 1000 +/* The '1/1, -1/0' lock skipped is from the bgwriter on newly promoted + * servers. See GH ticket #1. + */ #define SQL_XID_SNAPSHOT \ "SELECT reorg.array_accum(virtualtransaction) FROM pg_locks"\ - " WHERE locktype = 'virtualxid' AND pid <> pg_backend_pid()" + " WHERE locktype = 'virtualxid' AND pid <> pg_backend_pid()"\ + " AND (virtualxid, virtualtransaction) <> ('1/1', '-1/0')" #define SQL_XID_ALIVE \ "SELECT pid FROM pg_locks WHERE locktype = 'virtualxid'"\