From f5a3b0a823a5f64525346979781c4882f1420c60 Mon Sep 17 00:00:00 2001 From: Maxim Orlov Date: Fri, 25 Mar 2022 15:24:25 +0300 Subject: [PATCH v32 2/7] Use 64-bit format to output XIDs Replace the %u formatting string for XIDs with %llu and cast to unsigned long long. This is the part of a making XIDs 64-bit. While actually XIDs are still 32-bit, this patch completely supports both 32 and 64-bit. Author: Alexander Korotkov Author: Teodor Sigaev Author: Nikita Glukhov Author: Maxim Orlov Author: Pavel Borisov Author: Yura Sokolov Author: Aleksander Alekseev Reviewed-by: Aleksander Alekseev Discussion: https://postgr.es/m/CACG%3DezZe1NQSCnfHOr78AtAZxJZeCvxrts0ygrxYwe%3DpyyjVWA%40mail.gmail.com Discussion: https://postgr.es/m/CAJ7c6TPDOYBYrnCAeyndkBktO0WG2xSdYduTF0nxq%2BvfkmTF5Q%40mail.gmail.com --- contrib/amcheck/verify_heapam.c | 122 +++++++++--------- contrib/pageinspect/btreefuncs.c | 4 +- contrib/pgrowlocks/pgrowlocks.c | 9 +- contrib/test_decoding/test_decoding.c | 38 ++++-- src/backend/access/heap/heapam.c | 54 ++++---- src/backend/access/heap/heapam_handler.c | 4 +- src/backend/access/heap/vacuumlazy.c | 12 +- src/backend/access/rmgrdesc/clogdesc.c | 4 +- src/backend/access/rmgrdesc/committsdesc.c | 4 +- src/backend/access/rmgrdesc/gistdesc.c | 13 +- src/backend/access/rmgrdesc/hashdesc.c | 4 +- src/backend/access/rmgrdesc/heapdesc.c | 38 +++--- src/backend/access/rmgrdesc/mxactdesc.c | 10 +- src/backend/access/rmgrdesc/nbtdesc.c | 13 +- src/backend/access/rmgrdesc/spgdesc.c | 4 +- src/backend/access/rmgrdesc/standbydesc.c | 15 ++- src/backend/access/rmgrdesc/xactdesc.c | 10 +- src/backend/access/rmgrdesc/xlogdesc.c | 22 ++-- src/backend/access/transam/commit_ts.c | 3 +- src/backend/access/transam/multixact.c | 103 ++++++++------- src/backend/access/transam/slru.c | 24 ++-- src/backend/access/transam/subtrans.c | 5 +- src/backend/access/transam/transam.c | 8 +- src/backend/access/transam/twophase.c | 40 +++--- src/backend/access/transam/xact.c | 16 ++- src/backend/access/transam/xlogrecovery.c | 45 ++++--- src/backend/replication/logical/logical.c | 4 +- .../replication/logical/reorderbuffer.c | 23 ++-- src/backend/replication/logical/snapbuild.c | 41 +++--- src/backend/replication/logical/worker.c | 30 +++-- src/backend/replication/walreceiver.c | 5 +- src/backend/replication/walsender.c | 6 +- src/backend/storage/ipc/procarray.c | 35 ++--- src/backend/storage/ipc/standby.c | 24 ++-- src/backend/storage/lmgr/predicate.c | 9 +- src/backend/utils/adt/lockfuncs.c | 3 +- src/backend/utils/error/csvlog.c | 5 +- src/backend/utils/error/elog.c | 14 +- src/backend/utils/error/jsonlog.c | 8 +- src/backend/utils/misc/pg_controldata.c | 4 +- src/backend/utils/time/snapmgr.c | 18 ++- src/bin/pg_amcheck/t/004_verify_heapam.pl | 8 +- src/bin/pg_controldata/pg_controldata.c | 32 ++--- src/bin/pg_dump/pg_dump.c | 17 ++- src/bin/pg_resetwal/pg_resetwal.c | 66 +++++----- src/bin/pg_upgrade/pg_upgrade.c | 46 +++---- src/bin/pg_waldump/pg_waldump.c | 4 +- 47 files changed, 566 insertions(+), 460 deletions(-) diff --git a/contrib/amcheck/verify_heapam.c b/contrib/amcheck/verify_heapam.c index e5f7355dcb..20a3733e7d 100644 --- a/contrib/amcheck/verify_heapam.c +++ b/contrib/amcheck/verify_heapam.c @@ -743,24 +743,24 @@ check_tuple_visibility(HeapCheckContext *ctx) break; case XID_IN_FUTURE: report_corruption(ctx, - psprintf("xmin %u equals or exceeds next valid transaction ID %u:%u", - xmin, + psprintf("xmin %llu equals or exceeds next valid transaction ID %u:%llu", + (unsigned long long) xmin, EpochFromFullTransactionId(ctx->next_fxid), - XidFromFullTransactionId(ctx->next_fxid))); + (unsigned long long) XidFromFullTransactionId(ctx->next_fxid))); return false; case XID_PRECEDES_CLUSTERMIN: report_corruption(ctx, - psprintf("xmin %u precedes oldest valid transaction ID %u:%u", - xmin, + psprintf("xmin %llu precedes oldest valid transaction ID %u:%llu", + (unsigned long long) xmin, EpochFromFullTransactionId(ctx->oldest_fxid), - XidFromFullTransactionId(ctx->oldest_fxid))); + (unsigned long long) XidFromFullTransactionId(ctx->oldest_fxid))); return false; case XID_PRECEDES_RELMIN: report_corruption(ctx, - psprintf("xmin %u precedes relation freeze threshold %u:%u", - xmin, + psprintf("xmin %llu precedes relation freeze threshold %u:%llu", + (unsigned long long) xmin, EpochFromFullTransactionId(ctx->relfrozenfxid), - XidFromFullTransactionId(ctx->relfrozenfxid))); + (unsigned long long) XidFromFullTransactionId(ctx->relfrozenfxid))); return false; } @@ -784,24 +784,24 @@ check_tuple_visibility(HeapCheckContext *ctx) return false; case XID_IN_FUTURE: report_corruption(ctx, - psprintf("old-style VACUUM FULL transaction ID %u for moved off tuple equals or exceeds next valid transaction ID %u:%u", - xvac, + psprintf("old-style VACUUM FULL transaction ID %llu for moved off tuple equals or exceeds next valid transaction ID %u:%llu", + (unsigned long long) xvac, EpochFromFullTransactionId(ctx->next_fxid), - XidFromFullTransactionId(ctx->next_fxid))); + (unsigned long long) XidFromFullTransactionId(ctx->next_fxid))); return false; case XID_PRECEDES_RELMIN: report_corruption(ctx, - psprintf("old-style VACUUM FULL transaction ID %u for moved off tuple precedes relation freeze threshold %u:%u", - xvac, + psprintf("old-style VACUUM FULL transaction ID %llu for moved off tuple precedes relation freeze threshold %u:%llu", + (unsigned long long) xvac, EpochFromFullTransactionId(ctx->relfrozenfxid), - XidFromFullTransactionId(ctx->relfrozenfxid))); + (unsigned long long) XidFromFullTransactionId(ctx->relfrozenfxid))); return false; case XID_PRECEDES_CLUSTERMIN: report_corruption(ctx, - psprintf("old-style VACUUM FULL transaction ID %u for moved off tuple precedes oldest valid transaction ID %u:%u", - xvac, + psprintf("old-style VACUUM FULL transaction ID %llu for moved off tuple precedes oldest valid transaction ID %u:%llu", + (unsigned long long) xvac, EpochFromFullTransactionId(ctx->oldest_fxid), - XidFromFullTransactionId(ctx->oldest_fxid))); + (unsigned long long) XidFromFullTransactionId(ctx->oldest_fxid))); return false; case XID_BOUNDS_OK: break; @@ -811,13 +811,13 @@ check_tuple_visibility(HeapCheckContext *ctx) { case XID_IS_CURRENT_XID: report_corruption(ctx, - psprintf("old-style VACUUM FULL transaction ID %u for moved off tuple matches our current transaction ID", - xvac)); + psprintf("old-style VACUUM FULL transaction ID %llu for moved off tuple matches our current transaction ID", + (unsigned long long) xvac)); return false; case XID_IN_PROGRESS: report_corruption(ctx, - psprintf("old-style VACUUM FULL transaction ID %u for moved off tuple appears to be in progress", - xvac)); + psprintf("old-style VACUUM FULL transaction ID %llu for moved off tuple appears to be in progress", + (unsigned long long) xvac)); return false; case XID_COMMITTED: @@ -853,24 +853,24 @@ check_tuple_visibility(HeapCheckContext *ctx) return false; case XID_IN_FUTURE: report_corruption(ctx, - psprintf("old-style VACUUM FULL transaction ID %u for moved in tuple equals or exceeds next valid transaction ID %u:%u", - xvac, + psprintf("old-style VACUUM FULL transaction ID %llu for moved in tuple equals or exceeds next valid transaction ID %u:%llu", + (unsigned long long) xvac, EpochFromFullTransactionId(ctx->next_fxid), - XidFromFullTransactionId(ctx->next_fxid))); + (unsigned long long) XidFromFullTransactionId(ctx->next_fxid))); return false; case XID_PRECEDES_RELMIN: report_corruption(ctx, - psprintf("old-style VACUUM FULL transaction ID %u for moved in tuple precedes relation freeze threshold %u:%u", - xvac, + psprintf("old-style VACUUM FULL transaction ID %llu for moved in tuple precedes relation freeze threshold %u:%llu", + (unsigned long long) xvac, EpochFromFullTransactionId(ctx->relfrozenfxid), - XidFromFullTransactionId(ctx->relfrozenfxid))); + (unsigned long long) XidFromFullTransactionId(ctx->relfrozenfxid))); return false; case XID_PRECEDES_CLUSTERMIN: report_corruption(ctx, - psprintf("old-style VACUUM FULL transaction ID %u for moved in tuple precedes oldest valid transaction ID %u:%u", - xvac, + psprintf("old-style VACUUM FULL transaction ID %llu for moved in tuple precedes oldest valid transaction ID %u:%llu", + (unsigned long long) xvac, EpochFromFullTransactionId(ctx->oldest_fxid), - XidFromFullTransactionId(ctx->oldest_fxid))); + (unsigned long long) XidFromFullTransactionId(ctx->oldest_fxid))); return false; case XID_BOUNDS_OK: break; @@ -880,13 +880,13 @@ check_tuple_visibility(HeapCheckContext *ctx) { case XID_IS_CURRENT_XID: report_corruption(ctx, - psprintf("old-style VACUUM FULL transaction ID %u for moved in tuple matches our current transaction ID", - xvac)); + psprintf("old-style VACUUM FULL transaction ID %llu for moved in tuple matches our current transaction ID", + (unsigned long long) xvac)); return false; case XID_IN_PROGRESS: report_corruption(ctx, - psprintf("old-style VACUUM FULL transaction ID %u for moved in tuple appears to be in progress", - xvac)); + psprintf("old-style VACUUM FULL transaction ID %llu for moved in tuple appears to be in progress", + (unsigned long long) xvac)); return false; case XID_COMMITTED: @@ -956,19 +956,21 @@ check_tuple_visibility(HeapCheckContext *ctx) return true; case XID_PRECEDES_RELMIN: report_corruption(ctx, - psprintf("multitransaction ID %u precedes relation minimum multitransaction ID threshold %u", - xmax, ctx->relminmxid)); + psprintf("multitransaction ID %llu precedes relation minimum multitransaction ID threshold %llu", + (unsigned long long) xmax, + (unsigned long long) ctx->relminmxid)); return true; case XID_PRECEDES_CLUSTERMIN: report_corruption(ctx, - psprintf("multitransaction ID %u precedes oldest valid multitransaction ID threshold %u", - xmax, ctx->oldest_mxact)); + psprintf("multitransaction ID %llu precedes oldest valid multitransaction ID threshold %llu", + (unsigned long long) xmax, + (unsigned long long) ctx->oldest_mxact)); return true; case XID_IN_FUTURE: report_corruption(ctx, - psprintf("multitransaction ID %u equals or exceeds next valid multitransaction ID %u", - xmax, - ctx->next_mxact)); + psprintf("multitransaction ID %llu equals or exceeds next valid multitransaction ID %llu", + (unsigned long long) xmax, + (unsigned long long) ctx->next_mxact)); return true; case XID_BOUNDS_OK: break; @@ -1014,24 +1016,24 @@ check_tuple_visibility(HeapCheckContext *ctx) return true; case XID_IN_FUTURE: report_corruption(ctx, - psprintf("update xid %u equals or exceeds next valid transaction ID %u:%u", - xmax, + psprintf("update xid %llu equals or exceeds next valid transaction ID %u:%llu", + (unsigned long long) xmax, EpochFromFullTransactionId(ctx->next_fxid), - XidFromFullTransactionId(ctx->next_fxid))); + (unsigned long long) XidFromFullTransactionId(ctx->next_fxid))); return true; case XID_PRECEDES_RELMIN: report_corruption(ctx, - psprintf("update xid %u precedes relation freeze threshold %u:%u", - xmax, + psprintf("update xid %llu precedes relation freeze threshold %u:%llu", + (unsigned long long) xmax, EpochFromFullTransactionId(ctx->relfrozenfxid), - XidFromFullTransactionId(ctx->relfrozenfxid))); + (unsigned long long) XidFromFullTransactionId(ctx->relfrozenfxid))); return true; case XID_PRECEDES_CLUSTERMIN: report_corruption(ctx, - psprintf("update xid %u precedes oldest valid transaction ID %u:%u", - xmax, + psprintf("update xid %llu precedes oldest valid transaction ID %u:%llu", + (unsigned long long) xmax, EpochFromFullTransactionId(ctx->oldest_fxid), - XidFromFullTransactionId(ctx->oldest_fxid))); + (unsigned long long) XidFromFullTransactionId(ctx->oldest_fxid))); return true; case XID_BOUNDS_OK: break; @@ -1076,24 +1078,24 @@ check_tuple_visibility(HeapCheckContext *ctx) { case XID_IN_FUTURE: report_corruption(ctx, - psprintf("xmax %u equals or exceeds next valid transaction ID %u:%u", - xmax, + psprintf("xmax %llu equals or exceeds next valid transaction ID %u:%llu", + (unsigned long long) xmax, EpochFromFullTransactionId(ctx->next_fxid), - XidFromFullTransactionId(ctx->next_fxid))); + (unsigned long long) XidFromFullTransactionId(ctx->next_fxid))); return false; /* corrupt */ case XID_PRECEDES_RELMIN: report_corruption(ctx, - psprintf("xmax %u precedes relation freeze threshold %u:%u", - xmax, + psprintf("xmax %llu precedes relation freeze threshold %u:%llu", + (unsigned long long) xmax, EpochFromFullTransactionId(ctx->relfrozenfxid), - XidFromFullTransactionId(ctx->relfrozenfxid))); + (unsigned long long) XidFromFullTransactionId(ctx->relfrozenfxid))); return false; /* corrupt */ case XID_PRECEDES_CLUSTERMIN: report_corruption(ctx, - psprintf("xmax %u precedes oldest valid transaction ID %u:%u", - xmax, + psprintf("xmax %llu precedes oldest valid transaction ID %u:%llu", + (unsigned long long) xmax, EpochFromFullTransactionId(ctx->oldest_fxid), - XidFromFullTransactionId(ctx->oldest_fxid))); + (unsigned long long) XidFromFullTransactionId(ctx->oldest_fxid))); return false; /* corrupt */ case XID_BOUNDS_OK: case XID_INVALID: diff --git a/contrib/pageinspect/btreefuncs.c b/contrib/pageinspect/btreefuncs.c index 3daa31c84d..113de447c1 100644 --- a/contrib/pageinspect/btreefuncs.c +++ b/contrib/pageinspect/btreefuncs.c @@ -125,9 +125,9 @@ GetBTPageStatistics(BlockNumber blkno, Buffer buffer, BTPageStat *stat) { FullTransactionId safexid = BTPageGetDeleteXid(page); - elog(DEBUG2, "deleted page from block %u has safexid %u:%u", + elog(DEBUG2, "deleted page from block %u has safexid %u:%llu", blkno, EpochFromFullTransactionId(safexid), - XidFromFullTransactionId(safexid)); + (unsigned long long) XidFromFullTransactionId(safexid)); } else elog(DEBUG2, "deleted page from block %u has safexid %u", diff --git a/contrib/pgrowlocks/pgrowlocks.c b/contrib/pgrowlocks/pgrowlocks.c index 1d4d4965ac..ef89b84ec3 100644 --- a/contrib/pgrowlocks/pgrowlocks.c +++ b/contrib/pgrowlocks/pgrowlocks.c @@ -142,7 +142,8 @@ pgrowlocks(PG_FUNCTION_ARGS) PointerGetDatum(&tuple->t_self)); values[Atnum_xmax] = palloc(NCHARS * sizeof(char)); - snprintf(values[Atnum_xmax], NCHARS, "%u", xmax); + snprintf(values[Atnum_xmax], NCHARS, "%llu", + (unsigned long long) xmax); if (infomask & HEAP_XMAX_IS_MULTI) { MultiXactMember *members; @@ -183,7 +184,8 @@ pgrowlocks(PG_FUNCTION_ARGS) strcat(values[Atnum_modes], ","); strcat(values[Atnum_pids], ","); } - snprintf(buf, NCHARS, "%u", members[j].xid); + snprintf(buf, NCHARS, "%llu", + (unsigned long long) members[j].xid); strcat(values[Atnum_xids], buf); switch (members[j].status) { @@ -224,7 +226,8 @@ pgrowlocks(PG_FUNCTION_ARGS) values[Atnum_ismulti] = pstrdup("false"); values[Atnum_xids] = palloc(NCHARS * sizeof(char)); - snprintf(values[Atnum_xids], NCHARS, "{%u}", xmax); + snprintf(values[Atnum_xids], NCHARS, "{%llu}", + (unsigned long long) xmax); values[Atnum_modes] = palloc(NCHARS); if (infomask & HEAP_XMAX_LOCK_ONLY) diff --git a/contrib/test_decoding/test_decoding.c b/contrib/test_decoding/test_decoding.c index 08d366a594..2cfac27807 100644 --- a/contrib/test_decoding/test_decoding.c +++ b/contrib/test_decoding/test_decoding.c @@ -314,7 +314,7 @@ pg_output_begin(LogicalDecodingContext *ctx, TestDecodingData *data, ReorderBuff { OutputPluginPrepareWrite(ctx, last_write); if (data->include_xids) - appendStringInfo(ctx->out, "BEGIN %u", txn->xid); + appendStringInfo(ctx->out, "BEGIN %llu", (unsigned long long) txn->xid); else appendStringInfoString(ctx->out, "BEGIN"); OutputPluginWrite(ctx, last_write); @@ -337,7 +337,7 @@ pg_decode_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, OutputPluginPrepareWrite(ctx, true); if (data->include_xids) - appendStringInfo(ctx->out, "COMMIT %u", txn->xid); + appendStringInfo(ctx->out, "COMMIT %llu", (unsigned long long) txn->xid); else appendStringInfoString(ctx->out, "COMMIT"); @@ -390,7 +390,7 @@ pg_decode_prepare_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, quote_literal_cstr(txn->gid)); if (data->include_xids) - appendStringInfo(ctx->out, ", txid %u", txn->xid); + appendStringInfo(ctx->out, ", txid %llu", (unsigned long long) txn->xid); if (data->include_timestamp) appendStringInfo(ctx->out, " (at %s)", @@ -412,7 +412,7 @@ pg_decode_commit_prepared_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn quote_literal_cstr(txn->gid)); if (data->include_xids) - appendStringInfo(ctx->out, ", txid %u", txn->xid); + appendStringInfo(ctx->out, ", txid %llu", (unsigned long long) txn->xid); if (data->include_timestamp) appendStringInfo(ctx->out, " (at %s)", @@ -436,7 +436,7 @@ pg_decode_rollback_prepared_txn(LogicalDecodingContext *ctx, quote_literal_cstr(txn->gid)); if (data->include_xids) - appendStringInfo(ctx->out, ", txid %u", txn->xid); + appendStringInfo(ctx->out, ", txid %llu", (unsigned long long) txn->xid); if (data->include_timestamp) appendStringInfo(ctx->out, " (at %s)", @@ -785,7 +785,9 @@ pg_output_stream_start(LogicalDecodingContext *ctx, TestDecodingData *data, Reor { OutputPluginPrepareWrite(ctx, last_write); if (data->include_xids) - appendStringInfo(ctx->out, "opening a streamed block for transaction TXN %u", txn->xid); + appendStringInfo(ctx->out, + "opening a streamed block for transaction TXN %llu", + (unsigned long long) txn->xid); else appendStringInfoString(ctx->out, "opening a streamed block for transaction"); OutputPluginWrite(ctx, last_write); @@ -803,7 +805,9 @@ pg_decode_stream_stop(LogicalDecodingContext *ctx, OutputPluginPrepareWrite(ctx, true); if (data->include_xids) - appendStringInfo(ctx->out, "closing a streamed block for transaction TXN %u", txn->xid); + appendStringInfo(ctx->out, + "closing a streamed block for transaction TXN %llu", + (unsigned long long) txn->xid); else appendStringInfoString(ctx->out, "closing a streamed block for transaction"); OutputPluginWrite(ctx, true); @@ -837,7 +841,9 @@ pg_decode_stream_abort(LogicalDecodingContext *ctx, OutputPluginPrepareWrite(ctx, true); if (data->include_xids) - appendStringInfo(ctx->out, "aborting streamed (sub)transaction TXN %u", txn->xid); + appendStringInfo(ctx->out, + "aborting streamed (sub)transaction TXN %llu", + (unsigned long long) txn->xid); else appendStringInfoString(ctx->out, "aborting streamed (sub)transaction"); OutputPluginWrite(ctx, true); @@ -857,8 +863,10 @@ pg_decode_stream_prepare(LogicalDecodingContext *ctx, OutputPluginPrepareWrite(ctx, true); if (data->include_xids) - appendStringInfo(ctx->out, "preparing streamed transaction TXN %s, txid %u", - quote_literal_cstr(txn->gid), txn->xid); + appendStringInfo(ctx->out, + "preparing streamed transaction TXN %s, txid %llu", + quote_literal_cstr(txn->gid), + (unsigned long long) txn->xid); else appendStringInfo(ctx->out, "preparing streamed transaction %s", quote_literal_cstr(txn->gid)); @@ -888,7 +896,9 @@ pg_decode_stream_commit(LogicalDecodingContext *ctx, OutputPluginPrepareWrite(ctx, true); if (data->include_xids) - appendStringInfo(ctx->out, "committing streamed transaction TXN %u", txn->xid); + appendStringInfo(ctx->out, + "committing streamed transaction TXN %llu", + (unsigned long long) txn->xid); else appendStringInfoString(ctx->out, "committing streamed transaction"); @@ -922,7 +932,8 @@ pg_decode_stream_change(LogicalDecodingContext *ctx, OutputPluginPrepareWrite(ctx, true); if (data->include_xids) - appendStringInfo(ctx->out, "streaming change for TXN %u", txn->xid); + appendStringInfo(ctx->out, "streaming change for TXN %llu", + (unsigned long long) txn->xid); else appendStringInfoString(ctx->out, "streaming change for transaction"); OutputPluginWrite(ctx, true); @@ -975,7 +986,8 @@ pg_decode_stream_truncate(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, OutputPluginPrepareWrite(ctx, true); if (data->include_xids) - appendStringInfo(ctx->out, "streaming truncate for TXN %u", txn->xid); + appendStringInfo(ctx->out, "streaming truncate for TXN %llu", + (unsigned long long) txn->xid); else appendStringInfoString(ctx->out, "streaming truncate for transaction"); OutputPluginWrite(ctx, true); diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index ba11bcd99e..086195ace0 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -5152,7 +5152,8 @@ l5: * TransactionIdIsInProgress() should have returned false. We * assume it's no longer locked in this case. */ - elog(WARNING, "LOCK_ONLY found for Xid in progress %u", xmax); + elog(WARNING, "LOCK_ONLY found for Xid in progress %llu", + (unsigned long long) xmax); old_infomask |= HEAP_XMAX_INVALID; old_infomask &= ~HEAP_XMAX_LOCK_ONLY; goto l5; @@ -6135,8 +6136,9 @@ FreezeMultiXactId(MultiXactId multi, uint16 t_infomask, else if (MultiXactIdPrecedes(multi, relminmxid)) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("found multixact %u from before relminmxid %u", - multi, relminmxid))); + errmsg_internal("found multixact %llu from before relminmxid %llu", + (unsigned long long) multi, + (unsigned long long) relminmxid))); else if (MultiXactIdPrecedes(multi, cutoff_multi)) { /* @@ -6149,8 +6151,9 @@ FreezeMultiXactId(MultiXactId multi, uint16 t_infomask, HEAP_XMAX_IS_LOCKED_ONLY(t_infomask))) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("multixact %u from before cutoff %u found to be still running", - multi, cutoff_multi))); + errmsg_internal("multixact %llu from before cutoff %llu found to be still running", + (unsigned long long) multi, + (unsigned long long) cutoff_multi))); if (HEAP_XMAX_IS_LOCKED_ONLY(t_infomask)) { @@ -6168,8 +6171,9 @@ FreezeMultiXactId(MultiXactId multi, uint16 t_infomask, if (TransactionIdPrecedes(xid, relfrozenxid)) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("found update xid %u from before relfrozenxid %u", - xid, relfrozenxid))); + errmsg_internal("found update xid %llu from before relfrozenxid %llu", + (unsigned long long) xid, + (unsigned long long) relfrozenxid))); /* * If the xid is older than the cutoff, it has to have aborted, @@ -6180,7 +6184,8 @@ FreezeMultiXactId(MultiXactId multi, uint16 t_infomask, if (TransactionIdDidCommit(xid)) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("cannot freeze committed update xid %u", xid))); + errmsg_internal("cannot freeze committed update xid %llu", + (unsigned long long) xid))); *flags |= FRM_INVALIDATE_XMAX; xid = InvalidTransactionId; } @@ -6271,8 +6276,9 @@ FreezeMultiXactId(MultiXactId multi, uint16 t_infomask, if (TransactionIdPrecedes(xid, relfrozenxid)) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("found update xid %u from before relfrozenxid %u", - xid, relfrozenxid))); + errmsg_internal("found update xid %llu from before relfrozenxid %llu", + (unsigned long long) xid, + (unsigned long long) relfrozenxid))); /* * It's an update; should we keep it? If the transaction is known @@ -6321,8 +6327,9 @@ FreezeMultiXactId(MultiXactId multi, uint16 t_infomask, TransactionIdPrecedes(update_xid, cutoff_xid)) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("found update xid %u from before xid cutoff %u", - update_xid, cutoff_xid))); + errmsg_internal("found update xid %llu from before xid cutoff %llu", + (unsigned long long) update_xid, + (unsigned long long) cutoff_xid))); /* * We determined that this is an Xid corresponding to an update @@ -6486,8 +6493,9 @@ heap_prepare_freeze_tuple(HeapTupleHeader tuple, if (TransactionIdPrecedes(xid, relfrozenxid)) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("found xmin %u from before relfrozenxid %u", - xid, relfrozenxid))); + errmsg_internal("found xmin %llu from before relfrozenxid %llu", + (unsigned long long) xid, + (unsigned long long) relfrozenxid))); xmin_frozen = TransactionIdPrecedes(xid, cutoff_xid); if (xmin_frozen) @@ -6495,8 +6503,9 @@ heap_prepare_freeze_tuple(HeapTupleHeader tuple, if (!TransactionIdDidCommit(xid)) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("uncommitted xmin %u from before xid cutoff %u needs to be frozen", - xid, cutoff_xid))); + errmsg_internal("uncommitted xmin %llu from before xid cutoff %llu needs to be frozen", + (unsigned long long) xid, + (unsigned long long) cutoff_xid))); frz->t_infomask |= HEAP_XMIN_FROZEN; changed = true; @@ -6623,8 +6632,9 @@ heap_prepare_freeze_tuple(HeapTupleHeader tuple, if (TransactionIdPrecedes(xid, relfrozenxid)) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("found xmax %u from before relfrozenxid %u", - xid, relfrozenxid))); + errmsg_internal("found xmax %llu from before relfrozenxid %llu", + (unsigned long long) xid, + (unsigned long long) relfrozenxid))); if (TransactionIdPrecedes(xid, cutoff_xid)) { @@ -6638,8 +6648,8 @@ heap_prepare_freeze_tuple(HeapTupleHeader tuple, TransactionIdDidCommit(xid)) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("cannot freeze committed xmax %u", - xid))); + errmsg_internal("cannot freeze committed xmax %llu", + (unsigned long long) xid))); freeze_xmax = true; /* No need for relfrozenxid_out handling, since we'll freeze xmax */ } @@ -6660,8 +6670,8 @@ heap_prepare_freeze_tuple(HeapTupleHeader tuple, else ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("found xmax %u (infomask 0x%04x) not frozen, not multi, not normal", - xid, tuple->t_infomask))); + errmsg_internal("found xmax %llu (infomask 0x%04x) not frozen, not multi, not normal", + (unsigned long long) xid, tuple->t_infomask))); if (freeze_xmax) { diff --git a/src/backend/access/heap/heapam_handler.c b/src/backend/access/heap/heapam_handler.c index 666b6205a7..24573fcdc2 100644 --- a/src/backend/access/heap/heapam_handler.c +++ b/src/backend/access/heap/heapam_handler.c @@ -424,8 +424,8 @@ tuple_lock_retry: if (TransactionIdIsValid(SnapshotDirty.xmin)) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg_internal("t_xmin %u is uncommitted in tuple (%u,%u) to be updated in table \"%s\"", - SnapshotDirty.xmin, + errmsg_internal("t_xmin %llu is uncommitted in tuple (%u,%u) to be updated in table \"%s\"", + (unsigned long long) SnapshotDirty.xmin, ItemPointerGetBlockNumber(&tuple->t_self), ItemPointerGetOffsetNumber(&tuple->t_self), RelationGetRelationName(relation)))); diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c index a1c2af33f1..67d79bf07f 100644 --- a/src/backend/access/heap/vacuumlazy.c +++ b/src/backend/access/heap/vacuumlazy.c @@ -710,21 +710,21 @@ heap_vacuum_rel(Relation rel, VacuumParams *params, vacrel->missed_dead_pages); diff = (int32) (ReadNextTransactionId() - OldestXmin); appendStringInfo(&buf, - _("removable cutoff: %u, older by %d xids when operation ended\n"), - OldestXmin, diff); + _("removable cutoff: %llu, older by %d xids when operation ended\n"), + (unsigned long long) OldestXmin, diff); if (frozenxid_updated) { diff = (int32) (vacrel->NewRelfrozenXid - vacrel->relfrozenxid); appendStringInfo(&buf, - _("new relfrozenxid: %u, which is %d xids ahead of previous value\n"), - vacrel->NewRelfrozenXid, diff); + _("new relfrozenxid: %llu, which is %d xids ahead of previous value\n"), + (unsigned long long) vacrel->NewRelfrozenXid, diff); } if (minmulti_updated) { diff = (int32) (vacrel->NewRelminMxid - vacrel->relminmxid); appendStringInfo(&buf, - _("new relminmxid: %u, which is %d mxids ahead of previous value\n"), - vacrel->NewRelminMxid, diff); + _("new relminmxid: %llu, which is %d mxids ahead of previous value\n"), + (unsigned long long) vacrel->NewRelminMxid, diff); } if (orig_rel_pages > 0) { diff --git a/src/backend/access/rmgrdesc/clogdesc.c b/src/backend/access/rmgrdesc/clogdesc.c index 87513732be..bbb5910633 100644 --- a/src/backend/access/rmgrdesc/clogdesc.c +++ b/src/backend/access/rmgrdesc/clogdesc.c @@ -35,8 +35,8 @@ clog_desc(StringInfo buf, XLogReaderState *record) xl_clog_truncate xlrec; memcpy(&xlrec, rec, sizeof(xl_clog_truncate)); - appendStringInfo(buf, "page %d; oldestXact %u", - xlrec.pageno, xlrec.oldestXact); + appendStringInfo(buf, "page %d; oldestXact %llu", + xlrec.pageno, (unsigned long long) xlrec.oldestXact); } } diff --git a/src/backend/access/rmgrdesc/committsdesc.c b/src/backend/access/rmgrdesc/committsdesc.c index 3a65538bb0..4b2e9bc2ff 100644 --- a/src/backend/access/rmgrdesc/committsdesc.c +++ b/src/backend/access/rmgrdesc/committsdesc.c @@ -35,8 +35,8 @@ commit_ts_desc(StringInfo buf, XLogReaderState *record) { xl_commit_ts_truncate *trunc = (xl_commit_ts_truncate *) rec; - appendStringInfo(buf, "pageno %d, oldestXid %u", - trunc->pageno, trunc->oldestXid); + appendStringInfo(buf, "pageno %d, oldestXid %llu", + trunc->pageno, (unsigned long long) trunc->oldestXid); } } diff --git a/src/backend/access/rmgrdesc/gistdesc.c b/src/backend/access/rmgrdesc/gistdesc.c index 9cab4fa158..1d77fa65fb 100644 --- a/src/backend/access/rmgrdesc/gistdesc.c +++ b/src/backend/access/rmgrdesc/gistdesc.c @@ -26,18 +26,19 @@ out_gistxlogPageUpdate(StringInfo buf, gistxlogPageUpdate *xlrec) static void out_gistxlogPageReuse(StringInfo buf, gistxlogPageReuse *xlrec) { - appendStringInfo(buf, "rel %u/%u/%u; blk %u; latestRemovedXid %u:%u", + appendStringInfo(buf, "rel %u/%u/%u; blk %u; latestRemovedXid %u:%llu", xlrec->node.spcNode, xlrec->node.dbNode, xlrec->node.relNode, xlrec->block, EpochFromFullTransactionId(xlrec->latestRemovedFullXid), - XidFromFullTransactionId(xlrec->latestRemovedFullXid)); + (unsigned long long) XidFromFullTransactionId(xlrec->latestRemovedFullXid)); } static void out_gistxlogDelete(StringInfo buf, gistxlogDelete *xlrec) { - appendStringInfo(buf, "delete: latestRemovedXid %u, nitems: %u", - xlrec->latestRemovedXid, xlrec->ntodelete); + appendStringInfo(buf, "delete: latestRemovedXid %llu, nitems: %u", + (unsigned long long) xlrec->latestRemovedXid, + xlrec->ntodelete); } @@ -51,9 +52,9 @@ out_gistxlogPageSplit(StringInfo buf, gistxlogPageSplit *xlrec) static void out_gistxlogPageDelete(StringInfo buf, gistxlogPageDelete *xlrec) { - appendStringInfo(buf, "deleteXid %u:%u; downlink %u", + appendStringInfo(buf, "deleteXid %u:%llu; downlink %u", EpochFromFullTransactionId(xlrec->deleteXid), - XidFromFullTransactionId(xlrec->deleteXid), + (unsigned long long) XidFromFullTransactionId(xlrec->deleteXid), xlrec->downlinkOffset); } diff --git a/src/backend/access/rmgrdesc/hashdesc.c b/src/backend/access/rmgrdesc/hashdesc.c index ef443bdb16..9030e74b88 100644 --- a/src/backend/access/rmgrdesc/hashdesc.c +++ b/src/backend/access/rmgrdesc/hashdesc.c @@ -113,9 +113,9 @@ hash_desc(StringInfo buf, XLogReaderState *record) { xl_hash_vacuum_one_page *xlrec = (xl_hash_vacuum_one_page *) rec; - appendStringInfo(buf, "ntuples %d, latestRemovedXid %u", + appendStringInfo(buf, "ntuples %d, latestRemovedXid %llu", xlrec->ntuples, - xlrec->latestRemovedXid); + (unsigned long long) xlrec->latestRemovedXid); break; } } diff --git a/src/backend/access/rmgrdesc/heapdesc.c b/src/backend/access/rmgrdesc/heapdesc.c index 6238085d65..f3fb61971f 100644 --- a/src/backend/access/rmgrdesc/heapdesc.c +++ b/src/backend/access/rmgrdesc/heapdesc.c @@ -58,27 +58,27 @@ heap_desc(StringInfo buf, XLogReaderState *record) { xl_heap_update *xlrec = (xl_heap_update *) rec; - appendStringInfo(buf, "off %u xmax %u flags 0x%02X ", + appendStringInfo(buf, "off %u xmax %llu flags 0x%02X ", xlrec->old_offnum, - xlrec->old_xmax, + (unsigned long long) xlrec->old_xmax, xlrec->flags); out_infobits(buf, xlrec->old_infobits_set); - appendStringInfo(buf, "; new off %u xmax %u", + appendStringInfo(buf, "; new off %u xmax %llu", xlrec->new_offnum, - xlrec->new_xmax); + (unsigned long long) xlrec->new_xmax); } else if (info == XLOG_HEAP_HOT_UPDATE) { xl_heap_update *xlrec = (xl_heap_update *) rec; - appendStringInfo(buf, "off %u xmax %u flags 0x%02X ", + appendStringInfo(buf, "off %u xmax %llu flags 0x%02X ", xlrec->old_offnum, - xlrec->old_xmax, + (unsigned long long) xlrec->old_xmax, xlrec->flags); out_infobits(buf, xlrec->old_infobits_set); - appendStringInfo(buf, "; new off %u xmax %u", + appendStringInfo(buf, "; new off %u xmax %llu", xlrec->new_offnum, - xlrec->new_xmax); + (unsigned long long) xlrec->new_xmax); } else if (info == XLOG_HEAP_TRUNCATE) { @@ -103,8 +103,9 @@ heap_desc(StringInfo buf, XLogReaderState *record) { xl_heap_lock *xlrec = (xl_heap_lock *) rec; - appendStringInfo(buf, "off %u: xid %u: flags 0x%02X ", - xlrec->offnum, xlrec->locking_xid, xlrec->flags); + appendStringInfo(buf, "off %u: xid %llu: flags 0x%02X ", + xlrec->offnum, (unsigned long long) xlrec->locking_xid, + xlrec->flags); out_infobits(buf, xlrec->infobits_set); } else if (info == XLOG_HEAP_INPLACE) @@ -125,8 +126,8 @@ heap2_desc(StringInfo buf, XLogReaderState *record) { xl_heap_prune *xlrec = (xl_heap_prune *) rec; - appendStringInfo(buf, "latestRemovedXid %u nredirected %u ndead %u", - xlrec->latestRemovedXid, + appendStringInfo(buf, "latestRemovedXid %llu nredirected %u ndead %u", + (unsigned long long) xlrec->latestRemovedXid, xlrec->nredirected, xlrec->ndead); } @@ -140,15 +141,15 @@ heap2_desc(StringInfo buf, XLogReaderState *record) { xl_heap_freeze_page *xlrec = (xl_heap_freeze_page *) rec; - appendStringInfo(buf, "cutoff xid %u ntuples %u", - xlrec->cutoff_xid, xlrec->ntuples); + appendStringInfo(buf, "cutoff xid %llu ntuples %u", + (unsigned long long) xlrec->cutoff_xid, xlrec->ntuples); } else if (info == XLOG_HEAP2_VISIBLE) { xl_heap_visible *xlrec = (xl_heap_visible *) rec; - appendStringInfo(buf, "cutoff xid %u flags 0x%02X", - xlrec->cutoff_xid, xlrec->flags); + appendStringInfo(buf, "cutoff xid %llu flags 0x%02X", + (unsigned long long) xlrec->cutoff_xid, xlrec->flags); } else if (info == XLOG_HEAP2_MULTI_INSERT) { @@ -161,8 +162,9 @@ heap2_desc(StringInfo buf, XLogReaderState *record) { xl_heap_lock_updated *xlrec = (xl_heap_lock_updated *) rec; - appendStringInfo(buf, "off %u: xmax %u: flags 0x%02X ", - xlrec->offnum, xlrec->xmax, xlrec->flags); + appendStringInfo(buf, "off %u: xmax %llu: flags 0x%02X ", + xlrec->offnum, (unsigned long long) xlrec->xmax, + xlrec->flags); out_infobits(buf, xlrec->infobits_set); } else if (info == XLOG_HEAP2_NEW_CID) diff --git a/src/backend/access/rmgrdesc/mxactdesc.c b/src/backend/access/rmgrdesc/mxactdesc.c index 7076be2b3f..4cf8a9a4b1 100644 --- a/src/backend/access/rmgrdesc/mxactdesc.c +++ b/src/backend/access/rmgrdesc/mxactdesc.c @@ -19,7 +19,7 @@ static void out_member(StringInfo buf, MultiXactMember *member) { - appendStringInfo(buf, "%u ", member->xid); + appendStringInfo(buf, "%llu ", (unsigned long long) member->xid); switch (member->status) { case MultiXactStatusForKeyShare: @@ -65,7 +65,8 @@ multixact_desc(StringInfo buf, XLogReaderState *record) xl_multixact_create *xlrec = (xl_multixact_create *) rec; int i; - appendStringInfo(buf, "%u offset %u nmembers %d: ", xlrec->mid, + appendStringInfo(buf, "%llu offset %u nmembers %d: ", + (unsigned long long) xlrec->mid, xlrec->moff, xlrec->nmembers); for (i = 0; i < xlrec->nmembers; i++) out_member(buf, &xlrec->members[i]); @@ -74,8 +75,9 @@ multixact_desc(StringInfo buf, XLogReaderState *record) { xl_multixact_truncate *xlrec = (xl_multixact_truncate *) rec; - appendStringInfo(buf, "offsets [%u, %u), members [%u, %u)", - xlrec->startTruncOff, xlrec->endTruncOff, + appendStringInfo(buf, "offsets [%llu, %llu), members [%u, %u)", + (unsigned long long) xlrec->startTruncOff, + (unsigned long long) xlrec->endTruncOff, xlrec->startTruncMemb, xlrec->endTruncMemb); } } diff --git a/src/backend/access/rmgrdesc/nbtdesc.c b/src/backend/access/rmgrdesc/nbtdesc.c index dfbbf4ebaf..a55b69dedf 100644 --- a/src/backend/access/rmgrdesc/nbtdesc.c +++ b/src/backend/access/rmgrdesc/nbtdesc.c @@ -63,8 +63,9 @@ btree_desc(StringInfo buf, XLogReaderState *record) { xl_btree_delete *xlrec = (xl_btree_delete *) rec; - appendStringInfo(buf, "latestRemovedXid %u; ndeleted %u; nupdated %u", - xlrec->latestRemovedXid, xlrec->ndeleted, xlrec->nupdated); + appendStringInfo(buf, "latestRemovedXid %llu; ndeleted %u; nupdated %u", + (unsigned long long) xlrec->latestRemovedXid, + xlrec->ndeleted, xlrec->nupdated); break; } case XLOG_BTREE_MARK_PAGE_HALFDEAD: @@ -80,10 +81,10 @@ btree_desc(StringInfo buf, XLogReaderState *record) { xl_btree_unlink_page *xlrec = (xl_btree_unlink_page *) rec; - appendStringInfo(buf, "left %u; right %u; level %u; safexid %u:%u; ", + appendStringInfo(buf, "left %u; right %u; level %u; safexid %u:%llu; ", xlrec->leftsib, xlrec->rightsib, xlrec->level, EpochFromFullTransactionId(xlrec->safexid), - XidFromFullTransactionId(xlrec->safexid)); + (unsigned long long) XidFromFullTransactionId(xlrec->safexid)); appendStringInfo(buf, "leafleft %u; leafright %u; leaftopparent %u", xlrec->leafleftsib, xlrec->leafrightsib, xlrec->leaftopparent); @@ -100,11 +101,11 @@ btree_desc(StringInfo buf, XLogReaderState *record) { xl_btree_reuse_page *xlrec = (xl_btree_reuse_page *) rec; - appendStringInfo(buf, "rel %u/%u/%u; latestRemovedXid %u:%u", + appendStringInfo(buf, "rel %u/%u/%u; latestRemovedXid %u:%llu", xlrec->node.spcNode, xlrec->node.dbNode, xlrec->node.relNode, EpochFromFullTransactionId(xlrec->latestRemovedFullXid), - XidFromFullTransactionId(xlrec->latestRemovedFullXid)); + (unsigned long long) XidFromFullTransactionId(xlrec->latestRemovedFullXid)); break; } case XLOG_BTREE_META_CLEANUP: diff --git a/src/backend/access/rmgrdesc/spgdesc.c b/src/backend/access/rmgrdesc/spgdesc.c index d5d921a42a..937662e5d4 100644 --- a/src/backend/access/rmgrdesc/spgdesc.c +++ b/src/backend/access/rmgrdesc/spgdesc.c @@ -118,10 +118,10 @@ spg_desc(StringInfo buf, XLogReaderState *record) { spgxlogVacuumRedirect *xlrec = (spgxlogVacuumRedirect *) rec; - appendStringInfo(buf, "ntoplaceholder: %u, firstplaceholder: %u, newestredirectxid: %u", + appendStringInfo(buf, "ntoplaceholder: %u, firstplaceholder: %u, newestredirectxid: %llu", xlrec->nToPlaceholder, xlrec->firstPlaceholder, - xlrec->newestRedirectXid); + (unsigned long long) xlrec->newestRedirectXid); } break; } diff --git a/src/backend/access/rmgrdesc/standbydesc.c b/src/backend/access/rmgrdesc/standbydesc.c index 2dba39e349..a9d1fa9d39 100644 --- a/src/backend/access/rmgrdesc/standbydesc.c +++ b/src/backend/access/rmgrdesc/standbydesc.c @@ -21,15 +21,15 @@ standby_desc_running_xacts(StringInfo buf, xl_running_xacts *xlrec) { int i; - appendStringInfo(buf, "nextXid %u latestCompletedXid %u oldestRunningXid %u", - xlrec->nextXid, - xlrec->latestCompletedXid, - xlrec->oldestRunningXid); + appendStringInfo(buf, "nextXid %llu latestCompletedXid %llu oldestRunningXid %llu", + (unsigned long long) xlrec->nextXid, + (unsigned long long) xlrec->latestCompletedXid, + (unsigned long long) xlrec->oldestRunningXid); if (xlrec->xcnt > 0) { appendStringInfo(buf, "; %d xacts:", xlrec->xcnt); for (i = 0; i < xlrec->xcnt; i++) - appendStringInfo(buf, " %u", xlrec->xids[i]); + appendStringInfo(buf, " %llu", (unsigned long long) xlrec->xids[i]); } if (xlrec->subxid_overflow) @@ -48,8 +48,9 @@ standby_desc(StringInfo buf, XLogReaderState *record) int i; for (i = 0; i < xlrec->nlocks; i++) - appendStringInfo(buf, "xid %u db %u rel %u ", - xlrec->locks[i].xid, xlrec->locks[i].dbOid, + appendStringInfo(buf, "xid %llu db %u rel %u ", + (unsigned long long) xlrec->locks[i].xid, + xlrec->locks[i].dbOid, xlrec->locks[i].relOid); } else if (info == XLOG_RUNNING_XACTS) diff --git a/src/backend/access/rmgrdesc/xactdesc.c b/src/backend/access/rmgrdesc/xactdesc.c index d3f625d072..9cfdd65d83 100644 --- a/src/backend/access/rmgrdesc/xactdesc.c +++ b/src/backend/access/rmgrdesc/xactdesc.c @@ -304,7 +304,7 @@ xact_desc_subxacts(StringInfo buf, int nsubxacts, TransactionId *subxacts) { appendStringInfoString(buf, "; subxacts:"); for (i = 0; i < nsubxacts; i++) - appendStringInfo(buf, " %u", subxacts[i]); + appendStringInfo(buf, " %llu", (unsigned long long) subxacts[i]); } } @@ -336,7 +336,7 @@ xact_desc_commit(StringInfo buf, uint8 info, xl_xact_commit *xlrec, RepOriginId /* If this is a prepared xact, show the xid of the original xact */ if (TransactionIdIsValid(parsed.twophase_xid)) - appendStringInfo(buf, "%u: ", parsed.twophase_xid); + appendStringInfo(buf, "%llu: ", (unsigned long long) parsed.twophase_xid); appendStringInfoString(buf, timestamptz_to_str(xlrec->xact_time)); @@ -372,7 +372,7 @@ xact_desc_abort(StringInfo buf, uint8 info, xl_xact_abort *xlrec, RepOriginId or /* If this is a prepared xact, show the xid of the original xact */ if (TransactionIdIsValid(parsed.twophase_xid)) - appendStringInfo(buf, "%u: ", parsed.twophase_xid); + appendStringInfo(buf, "%llu: ", (unsigned long long) parsed.twophase_xid); appendStringInfoString(buf, timestamptz_to_str(xlrec->xact_time)); @@ -429,7 +429,7 @@ xact_desc_assignment(StringInfo buf, xl_xact_assignment *xlrec) appendStringInfoString(buf, "subxacts:"); for (i = 0; i < xlrec->nsubxacts; i++) - appendStringInfo(buf, " %u", xlrec->xsub[i]); + appendStringInfo(buf, " %llu", (unsigned long long) xlrec->xsub[i]); } void @@ -468,7 +468,7 @@ xact_desc(StringInfo buf, XLogReaderState *record) * interested in the top-level xid that issued the record and which * xids are being reported here. */ - appendStringInfo(buf, "xtop %u: ", xlrec->xtop); + appendStringInfo(buf, "xtop %llu: ", (unsigned long long) xlrec->xtop); xact_desc_assignment(buf, xlrec); } else if (info == XLOG_XACT_INVALIDATIONS) diff --git a/src/backend/access/rmgrdesc/xlogdesc.c b/src/backend/access/rmgrdesc/xlogdesc.c index c0dfea40c7..c73e9df63f 100644 --- a/src/backend/access/rmgrdesc/xlogdesc.c +++ b/src/backend/access/rmgrdesc/xlogdesc.c @@ -45,26 +45,26 @@ xlog_desc(StringInfo buf, XLogReaderState *record) CheckPoint *checkpoint = (CheckPoint *) rec; appendStringInfo(buf, "redo %X/%X; " - "tli %u; prev tli %u; fpw %s; xid %u:%u; oid %u; multi %u; offset %u; " - "oldest xid %u in DB %u; oldest multi %u in DB %u; " - "oldest/newest commit timestamp xid: %u/%u; " - "oldest running xid %u; %s", + "tli %u; prev tli %u; fpw %s; xid %u:%llu; oid %u; multi %llu; offset %u; " + "oldest xid %llu in DB %u; oldest multi %llu in DB %u; " + "oldest/newest commit timestamp xid: %llu/%llu; " + "oldest running xid %llu; %s", LSN_FORMAT_ARGS(checkpoint->redo), checkpoint->ThisTimeLineID, checkpoint->PrevTimeLineID, checkpoint->fullPageWrites ? "true" : "false", EpochFromFullTransactionId(checkpoint->nextXid), - XidFromFullTransactionId(checkpoint->nextXid), + (unsigned long long) XidFromFullTransactionId(checkpoint->nextXid), checkpoint->nextOid, - checkpoint->nextMulti, + (unsigned long long) checkpoint->nextMulti, checkpoint->nextMultiOffset, - checkpoint->oldestXid, + (unsigned long long) checkpoint->oldestXid, checkpoint->oldestXidDB, - checkpoint->oldestMulti, + (unsigned long long) checkpoint->oldestMulti, checkpoint->oldestMultiDB, - checkpoint->oldestCommitTsXid, - checkpoint->newestCommitTsXid, - checkpoint->oldestActiveXid, + (unsigned long long) checkpoint->oldestCommitTsXid, + (unsigned long long) checkpoint->newestCommitTsXid, + (unsigned long long) checkpoint->oldestActiveXid, (info == XLOG_CHECKPOINT_SHUTDOWN) ? "shutdown" : "online"); } else if (info == XLOG_NEXTOID) diff --git a/src/backend/access/transam/commit_ts.c b/src/backend/access/transam/commit_ts.c index 76dfd2b13b..7bfff478ea 100644 --- a/src/backend/access/transam/commit_ts.c +++ b/src/backend/access/transam/commit_ts.c @@ -279,7 +279,8 @@ TransactionIdGetCommitTsData(TransactionId xid, TimestampTz *ts, if (!TransactionIdIsValid(xid)) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("cannot retrieve commit timestamp for transaction %u", xid))); + errmsg("cannot retrieve commit timestamp for transaction %llu", + (unsigned long long) xid))); else if (!TransactionIdIsNormal(xid)) { /* frozen and bootstrap xids are always committed far in the past */ diff --git a/src/backend/access/transam/multixact.c b/src/backend/access/transam/multixact.c index 69ff2d111b..2b36029b10 100644 --- a/src/backend/access/transam/multixact.c +++ b/src/backend/access/transam/multixact.c @@ -451,8 +451,9 @@ MultiXactIdExpand(MultiXactId multi, TransactionId xid, MultiXactStatus status) /* MultiXactIdSetOldestMember() must have been called already. */ Assert(MultiXactIdIsValid(OldestMemberMXactId[MyBackendId])); - debug_elog5(DEBUG2, "Expand: received multi %u, xid %u status %s", - multi, xid, mxstatus_to_string(status)); + debug_elog5(DEBUG2, "Expand: received multi %llu, xid %llu status %s", + (unsigned long long) multi, (unsigned long long) xid, + mxstatus_to_string(status)); /* * Note: we don't allow for old multis here. The reason is that the only @@ -476,8 +477,8 @@ MultiXactIdExpand(MultiXactId multi, TransactionId xid, MultiXactStatus status) member.status = status; newMulti = MultiXactIdCreateFromMembers(1, &member); - debug_elog4(DEBUG2, "Expand: %u has no members, create singleton %u", - multi, newMulti); + debug_elog4(DEBUG2, "Expand: %llu has no members, create singleton %llu", + (unsigned long long) multi, (unsigned long long) newMulti); return newMulti; } @@ -490,8 +491,8 @@ MultiXactIdExpand(MultiXactId multi, TransactionId xid, MultiXactStatus status) if (TransactionIdEquals(members[i].xid, xid) && (members[i].status == status)) { - debug_elog4(DEBUG2, "Expand: %u is already a member of %u", - xid, multi); + debug_elog4(DEBUG2, "Expand: %llu is already a member of %llu", + (unsigned long long) xid, (unsigned long long) multi); pfree(members); return multi; } @@ -526,12 +527,14 @@ MultiXactIdExpand(MultiXactId multi, TransactionId xid, MultiXactStatus status) newMembers[j].xid = xid; newMembers[j++].status = status; + newMulti = MultiXactIdCreateFromMembers(j, newMembers); pfree(members); pfree(newMembers); - debug_elog3(DEBUG2, "Expand: returning new multi %u", newMulti); + debug_elog3(DEBUG2, "Expand: returning new multi %llu", + (unsigned long long) newMulti); return newMulti; } @@ -554,7 +557,7 @@ MultiXactIdIsRunning(MultiXactId multi, bool isLockOnly) int nmembers; int i; - debug_elog3(DEBUG2, "IsRunning %u?", multi); + debug_elog3(DEBUG2, "IsRunning %llu?", (unsigned long long) multi); /* * "false" here means we assume our callers have checked that the given @@ -594,8 +597,8 @@ MultiXactIdIsRunning(MultiXactId multi, bool isLockOnly) { if (TransactionIdIsInProgress(members[i].xid)) { - debug_elog4(DEBUG2, "IsRunning: member %d (%u) is running", - i, members[i].xid); + debug_elog4(DEBUG2, "IsRunning: member %d (%llu) is running", i, + (unsigned long long) members[i].xid); pfree(members); return true; } @@ -603,7 +606,8 @@ MultiXactIdIsRunning(MultiXactId multi, bool isLockOnly) pfree(members); - debug_elog3(DEBUG2, "IsRunning: %u is not running", multi); + debug_elog3(DEBUG2, "IsRunning: %llu is not running", + (unsigned long long) multi); return false; } @@ -657,8 +661,8 @@ MultiXactIdSetOldestMember(void) LWLockRelease(MultiXactGenLock); - debug_elog4(DEBUG2, "MultiXact: setting OldestMember[%d] = %u", - MyBackendId, nextMXact); + debug_elog4(DEBUG2, "MultiXact: setting OldestMember[%d] = %llu", + MyBackendId, (unsigned long long) nextMXact); } } @@ -710,8 +714,8 @@ MultiXactIdSetOldestVisible(void) LWLockRelease(MultiXactGenLock); - debug_elog4(DEBUG2, "MultiXact: setting OldestVisible[%d] = %u", - MyBackendId, oldestMXact); + debug_elog4(DEBUG2, "MultiXact: setting OldestVisible[%d] = %llu", + MyBackendId, (unsigned long long) oldestMXact); } } @@ -1188,7 +1192,8 @@ GetNewMultiXactId(int nmembers, MultiXactOffset *offset) LWLockRelease(MultiXactGenLock); - debug_elog4(DEBUG2, "GetNew: returning %u offset %u", result, *offset); + debug_elog4(DEBUG2, "GetNew: returning %llu offset %u", + (unsigned long long) result, *offset); return result; } @@ -1238,7 +1243,8 @@ GetMultiXactIdMembers(MultiXactId multi, MultiXactMember **members, MultiXactOffset nextOffset; MultiXactMember *ptr; - debug_elog3(DEBUG2, "GetMembers: asked for %u", multi); + debug_elog3(DEBUG2, "GetMembers: asked for %llu", + (unsigned long long) multi); if (!MultiXactIdIsValid(multi) || from_pgupgrade) { @@ -1517,7 +1523,8 @@ mXactCacheGetBySet(int nmembers, MultiXactMember *members) */ if (memcmp(members, entry->members, nmembers * sizeof(MultiXactMember)) == 0) { - debug_elog3(DEBUG2, "CacheGet: found %u", entry->multi); + debug_elog3(DEBUG2, "CacheGet: found %llu", + (unsigned long long) entry->multi); dlist_move_head(&MXactCache, iter.cur); return entry->multi; } @@ -1540,7 +1547,8 @@ mXactCacheGetById(MultiXactId multi, MultiXactMember **members) { dlist_iter iter; - debug_elog3(DEBUG2, "CacheGet: looking for %u", multi); + debug_elog3(DEBUG2, "CacheGet: looking for %llu", + (unsigned long long) multi); dlist_foreach(iter, &MXactCache) { @@ -1621,8 +1629,8 @@ mXactCachePut(MultiXactId multi, int nmembers, MultiXactMember *members) MXactCacheMembers--; entry = dlist_container(mXactCacheEnt, node, node); - debug_elog3(DEBUG2, "CachePut: pruning cached multi %u", - entry->multi); + debug_elog3(DEBUG2, "CachePut: pruning cached multi %llu", + (unsigned long long) entry->multi); pfree(entry); } @@ -1663,11 +1671,13 @@ mxid_to_string(MultiXactId multi, int nmembers, MultiXactMember *members) initStringInfo(&buf); - appendStringInfo(&buf, "%u %d[%u (%s)", multi, nmembers, members[0].xid, + appendStringInfo(&buf, "%llu %d[%llu (%s)", (unsigned long long) multi, + nmembers, (unsigned long long) members[0].xid, mxstatus_to_string(members[0].status)); for (i = 1; i < nmembers; i++) - appendStringInfo(&buf, ", %u (%s)", members[i].xid, + appendStringInfo(&buf, ", %llu (%s)", + (unsigned long long) members[i].xid, mxstatus_to_string(members[i].status)); appendStringInfoChar(&buf, ']'); @@ -2144,8 +2154,9 @@ MultiXactGetCheckptMulti(bool is_shutdown, LWLockRelease(MultiXactGenLock); debug_elog6(DEBUG2, - "MultiXact: checkpoint is nextMulti %u, nextOffset %u, oldestMulti %u in DB %u", - *nextMulti, *nextMultiOffset, *oldestMulti, *oldestMultiDB); + "MultiXact: checkpoint is nextMulti %llu, nextOffset %u, oldestMulti %llu in DB %u", + (unsigned long long) *nextMulti, *nextMultiOffset, + (unsigned long long) *oldestMulti, *oldestMultiDB); } /* @@ -2179,8 +2190,8 @@ void MultiXactSetNextMXact(MultiXactId nextMulti, MultiXactOffset nextMultiOffset) { - debug_elog4(DEBUG2, "MultiXact: setting next multi to %u offset %u", - nextMulti, nextMultiOffset); + debug_elog4(DEBUG2, "MultiXact: setting next multi to %llu offset %u", + (unsigned long long) nextMulti, nextMultiOffset); LWLockAcquire(MultiXactGenLock, LW_EXCLUSIVE); MultiXactState->nextMXact = nextMulti; MultiXactState->nextOffset = nextMultiOffset; @@ -2365,7 +2376,8 @@ MultiXactAdvanceNextMXact(MultiXactId minMulti, LWLockAcquire(MultiXactGenLock, LW_EXCLUSIVE); if (MultiXactIdPrecedes(MultiXactState->nextMXact, minMulti)) { - debug_elog3(DEBUG2, "MultiXact: setting next multi to %u", minMulti); + debug_elog3(DEBUG2, "MultiXact: setting next multi to %llu", + (unsigned long long) minMulti); MultiXactState->nextMXact = minMulti; } if (MultiXactOffsetPrecedes(MultiXactState->nextOffset, minMultiOffset)) @@ -2614,12 +2626,12 @@ SetOffsetVacuumLimit(bool is_startup) if (oldestOffsetKnown) ereport(DEBUG1, - (errmsg_internal("oldest MultiXactId member is at offset %u", - oldestOffset))); + (errmsg_internal("oldest MultiXactId member is at offset %llu", + (unsigned long long) oldestOffset))); else ereport(LOG, - (errmsg("MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk", - oldestMultiXactId))); + (errmsg("MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %llu does not exist on disk", + (unsigned long long) oldestMultiXactId))); } LWLockRelease(MultiXactTruncationLock); @@ -2643,8 +2655,9 @@ SetOffsetVacuumLimit(bool is_startup) (errmsg("MultiXact member wraparound protections are now enabled"))); ereport(DEBUG1, - (errmsg_internal("MultiXact member stop limit is now %u based on MultiXact %u", - offsetStopLimit, oldestMultiXactId))); + (errmsg_internal("MultiXact member stop limit is now %llu based on MultiXact %llu", + (unsigned long long) offsetStopLimit, + (unsigned long long) oldestMultiXactId))); } else if (prevOldestOffsetKnown) { @@ -3027,8 +3040,8 @@ TruncateMultiXact(MultiXactId newOldestMulti, Oid newOldestMultiDB) else if (!find_multixact_start(oldestMulti, &oldestOffset)) { ereport(LOG, - (errmsg("oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation", - oldestMulti, earliest))); + (errmsg("oldest MultiXact %llu not found, earliest MultiXact %llu, skipping truncation", + (unsigned long long) oldestMulti, (unsigned long long) earliest))); LWLockRelease(MultiXactTruncationLock); return; } @@ -3045,16 +3058,16 @@ TruncateMultiXact(MultiXactId newOldestMulti, Oid newOldestMultiDB) else if (!find_multixact_start(newOldestMulti, &newOldestOffset)) { ereport(LOG, - (errmsg("cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation", - newOldestMulti))); + (errmsg("cannot truncate up to MultiXact %llu because it does not exist on disk, skipping truncation", + (unsigned long long) newOldestMulti))); LWLockRelease(MultiXactTruncationLock); return; } elog(DEBUG1, "performing multixact truncation: " - "offsets [%u, %u), offsets segments [%x, %x), " + "offsets [%llu, %llu), offsets segments [%x, %x), " "members [%u, %u), members segments [%x, %x)", - oldestMulti, newOldestMulti, + (unsigned long long) oldestMulti, (unsigned long long) newOldestMulti, MultiXactIdToOffsetSegment(oldestMulti), MultiXactIdToOffsetSegment(newOldestMulti), oldestOffset, newOldestOffset, @@ -3308,9 +3321,10 @@ multixact_redo(XLogReaderState *record) SizeOfMultiXactTruncate); elog(DEBUG1, "replaying multixact truncation: " - "offsets [%u, %u), offsets segments [%x, %x), " + "offsets [%llu, %llu), offsets segments [%x, %x), " "members [%u, %u), members segments [%x, %x)", - xlrec.startTruncOff, xlrec.endTruncOff, + (unsigned long long) xlrec.startTruncOff, + (unsigned long long) xlrec.endTruncOff, MultiXactIdToOffsetSegment(xlrec.startTruncOff), MultiXactIdToOffsetSegment(xlrec.endTruncOff), xlrec.startTruncMemb, xlrec.endTruncMemb, @@ -3359,7 +3373,7 @@ pg_get_multixact_members(PG_FUNCTION_ARGS) if (mxid < FirstMultiXactId) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("invalid MultiXactId: %u", mxid))); + errmsg("invalid MultiXactId: %llu", (unsigned long long) mxid))); if (SRF_IS_FIRSTCALL()) { @@ -3395,7 +3409,8 @@ pg_get_multixact_members(PG_FUNCTION_ARGS) HeapTuple tuple; char *values[2]; - values[0] = psprintf("%u", multi->members[multi->iter].xid); + values[0] = psprintf("%llu", + (unsigned long long) multi->members[multi->iter].xid); values[1] = mxstatus_to_string(multi->members[multi->iter].status); tuple = BuildTupleFromCStrings(funccxt->attinmeta, values); diff --git a/src/backend/access/transam/slru.c b/src/backend/access/transam/slru.c index faf561f225..ea66084410 100644 --- a/src/backend/access/transam/slru.c +++ b/src/backend/access/transam/slru.c @@ -949,13 +949,15 @@ SlruReportIOError(SlruCtl ctl, int64 pageno, TransactionId xid) case SLRU_OPEN_FAILED: ereport(ERROR, (errcode_for_file_access(), - errmsg("could not access status of transaction %u", xid), + errmsg("could not access status of transaction %llu", + (unsigned long long) xid), errdetail("Could not open file \"%s\": %m.", path))); break; case SLRU_SEEK_FAILED: ereport(ERROR, (errcode_for_file_access(), - errmsg("could not access status of transaction %u", xid), + errmsg("could not access status of transaction %llu", + (unsigned long long) xid), errdetail("Could not seek in file \"%s\" to offset %d: %m.", path, offset))); break; @@ -963,12 +965,14 @@ SlruReportIOError(SlruCtl ctl, int64 pageno, TransactionId xid) if (errno) ereport(ERROR, (errcode_for_file_access(), - errmsg("could not access status of transaction %u", xid), + errmsg("could not access status of transaction %llu", + (unsigned long long) xid), errdetail("Could not read from file \"%s\" at offset %d: %m.", path, offset))); else ereport(ERROR, - (errmsg("could not access status of transaction %u", xid), + (errmsg("could not access status of transaction %llu", + (unsigned long long) xid), errdetail("Could not read from file \"%s\" at offset %d: read too few bytes.", path, offset))); break; @@ -976,26 +980,30 @@ SlruReportIOError(SlruCtl ctl, int64 pageno, TransactionId xid) if (errno) ereport(ERROR, (errcode_for_file_access(), - errmsg("could not access status of transaction %u", xid), + errmsg("could not access status of transaction %llu", + (unsigned long long) xid), errdetail("Could not write to file \"%s\" at offset %d: %m.", path, offset))); else ereport(ERROR, - (errmsg("could not access status of transaction %u", xid), + (errmsg("could not access status of transaction %llu", + (unsigned long long) xid), errdetail("Could not write to file \"%s\" at offset %d: wrote too few bytes.", path, offset))); break; case SLRU_FSYNC_FAILED: ereport(data_sync_elevel(ERROR), (errcode_for_file_access(), - errmsg("could not access status of transaction %u", xid), + errmsg("could not access status of transaction %llu", + (unsigned long long) xid), errdetail("Could not fsync file \"%s\": %m.", path))); break; case SLRU_CLOSE_FAILED: ereport(ERROR, (errcode_for_file_access(), - errmsg("could not access status of transaction %u", xid), + errmsg("could not access status of transaction %llu", + (unsigned long long) xid), errdetail("Could not close file \"%s\": %m.", path))); break; diff --git a/src/backend/access/transam/subtrans.c b/src/backend/access/transam/subtrans.c index de09068395..fcb95820a5 100644 --- a/src/backend/access/transam/subtrans.c +++ b/src/backend/access/transam/subtrans.c @@ -183,8 +183,9 @@ SubTransGetTopmostTransaction(TransactionId xid) * structure that could lead to an infinite loop, so exit. */ if (!TransactionIdPrecedes(parentXid, previousXid)) - elog(ERROR, "pg_subtrans contains invalid entry: xid %u points to parent xid %u", - previousXid, parentXid); + elog(ERROR, "pg_subtrans contains invalid entry: xid %llu points to parent xid %llu", + (unsigned long long) previousXid, + (unsigned long long) parentXid); } Assert(TransactionIdIsValid(previousXid)); diff --git a/src/backend/access/transam/transam.c b/src/backend/access/transam/transam.c index dbc5f884e8..b243878094 100644 --- a/src/backend/access/transam/transam.c +++ b/src/backend/access/transam/transam.c @@ -157,8 +157,8 @@ TransactionIdDidCommit(TransactionId transactionId) parentXid = SubTransGetParent(transactionId); if (!TransactionIdIsValid(parentXid)) { - elog(WARNING, "no pg_subtrans entry for subcommitted XID %u", - transactionId); + elog(WARNING, "no pg_subtrans entry for subcommitted XID %llu", + (unsigned long long) transactionId); return false; } return TransactionIdDidCommit(parentXid); @@ -206,8 +206,8 @@ TransactionIdDidAbort(TransactionId transactionId) if (!TransactionIdIsValid(parentXid)) { /* see notes in TransactionIdDidCommit */ - elog(WARNING, "no pg_subtrans entry for subcommitted XID %u", - transactionId); + elog(WARNING, "no pg_subtrans entry for subcommitted XID %llu", + (unsigned long long) transactionId); return true; } return TransactionIdDidAbort(parentXid); diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index dc0266693e..d8fc2afbcd 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -852,7 +852,8 @@ TwoPhaseGetGXact(TransactionId xid, bool lock_held) LWLockRelease(TwoPhaseStateLock); if (result == NULL) /* should not happen */ - elog(ERROR, "failed to find GlobalTransaction for xid %u", xid); + elog(ERROR, "failed to find GlobalTransaction for xid %llu", + (unsigned long long) xid); cached_xid = xid; cached_gxact = result; @@ -2091,7 +2092,8 @@ RecoverPreparedTransactions(void) continue; ereport(LOG, - (errmsg("recovering prepared transaction %u from shared memory", xid))); + (errmsg("recovering prepared transaction %llu from shared memory", + (unsigned long long) xid))); hdr = (TwoPhaseFileHeader *) buf; Assert(TransactionIdEquals(hdr->xid, xid)); @@ -2184,15 +2186,15 @@ ProcessTwoPhaseBuffer(TransactionId xid, if (fromdisk) { ereport(WARNING, - (errmsg("removing stale two-phase state file for transaction %u", - xid))); + (errmsg("removing stale two-phase state file for transaction %llu", + (unsigned long long) xid))); RemoveTwoPhaseFile(xid, true); } else { ereport(WARNING, - (errmsg("removing stale two-phase state from memory for transaction %u", - xid))); + (errmsg("removing stale two-phase state from memory for transaction %llu", + (unsigned long long) xid))); PrepareRedoRemove(xid, true); } return NULL; @@ -2204,15 +2206,15 @@ ProcessTwoPhaseBuffer(TransactionId xid, if (fromdisk) { ereport(WARNING, - (errmsg("removing future two-phase state file for transaction %u", - xid))); + (errmsg("removing future two-phase state file for transaction %llu", + (unsigned long long) xid))); RemoveTwoPhaseFile(xid, true); } else { ereport(WARNING, - (errmsg("removing future two-phase state from memory for transaction %u", - xid))); + (errmsg("removing future two-phase state from memory for transaction %llu", + (unsigned long long) xid))); PrepareRedoRemove(xid, true); } return NULL; @@ -2236,13 +2238,13 @@ ProcessTwoPhaseBuffer(TransactionId xid, if (fromdisk) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg("corrupted two-phase state file for transaction %u", - xid))); + errmsg("corrupted two-phase state file for transaction %llu", + (unsigned long long) xid))); else ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), - errmsg("corrupted two-phase state in memory for transaction %u", - xid))); + errmsg("corrupted two-phase state in memory for transaction %llu", + (unsigned long long) xid))); } /* @@ -2403,8 +2405,8 @@ RecordTransactionAbortPrepared(TransactionId xid, * RecordTransactionCommitPrepared ... */ if (TransactionIdDidCommit(xid)) - elog(PANIC, "cannot abort transaction %u, it was already committed", - xid); + elog(PANIC, "cannot abort transaction %llu, it was already committed", + (unsigned long long) xid); START_CRIT_SECTION(); @@ -2511,7 +2513,8 @@ PrepareRedoAdd(char *buf, XLogRecPtr start_lsn, false /* backward */ , false /* WAL */ ); } - elog(DEBUG2, "added 2PC data in shared memory for transaction %u", gxact->xid); + elog(DEBUG2, "added 2PC data in shared memory for transaction %llu", + (unsigned long long) gxact->xid); } /* @@ -2554,7 +2557,8 @@ PrepareRedoRemove(TransactionId xid, bool giveWarning) /* * And now we can clean up any files we may have left. */ - elog(DEBUG2, "removing 2PC data for transaction %u", xid); + elog(DEBUG2, "removing 2PC data for transaction %llu", + (unsigned long long) xid); if (gxact->ondisk) RemoveTwoPhaseFile(xid, giveWarning); RemoveGXact(gxact); diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 53f3e7fd1a..e225cfce26 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -1738,8 +1738,8 @@ RecordTransactionAbort(bool isSubXact) * Check that we haven't aborted halfway through RecordTransactionCommit. */ if (TransactionIdDidCommit(xid)) - elog(PANIC, "cannot abort transaction %u, it was already committed", - xid); + elog(PANIC, "cannot abort transaction %llu, it was already committed", + (unsigned long long) xid); /* Fetch the data we need for the abort record */ nrels = smgrGetPendingDeletes(false, &rels); @@ -5449,22 +5449,24 @@ ShowTransactionStateRec(const char *str, TransactionState s) { int i; - appendStringInfo(&buf, ", children: %u", s->childXids[0]); + appendStringInfo(&buf, ", children: %llu", + (unsigned long long) s->childXids[0]); for (i = 1; i < s->nChildXids; i++) - appendStringInfo(&buf, " %u", s->childXids[i]); + appendStringInfo(&buf, " %llu", + (unsigned long long) s->childXids[i]); } if (s->parent) ShowTransactionStateRec(str, s->parent); ereport(DEBUG5, - (errmsg_internal("%s(%d) name: %s; blockState: %s; state: %s, xid/subid/cid: %u/%u/%u%s%s", + (errmsg_internal("%s(%d) name: %s; blockState: %s; state: %s, xid/subid/cid: %llu/%llu/%u%s%s", str, s->nestingLevel, PointerIsValid(s->name) ? s->name : "unnamed", BlockStateAsString(s->blockState), TransStateAsString(s->state), - (unsigned int) XidFromFullTransactionId(s->fullTransactionId), - (unsigned int) s->subTransactionId, + (unsigned long long) XidFromFullTransactionId(s->fullTransactionId), + (unsigned long long) s->subTransactionId, (unsigned int) currentCommandId, currentCommandIdUsed ? " (used)" : "", buf.data))); diff --git a/src/backend/access/transam/xlogrecovery.c b/src/backend/access/transam/xlogrecovery.c index 26be94b3f1..909e4e4d42 100644 --- a/src/backend/access/transam/xlogrecovery.c +++ b/src/backend/access/transam/xlogrecovery.c @@ -525,8 +525,8 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr, (errmsg("entering standby mode"))); else if (recoveryTarget == RECOVERY_TARGET_XID) ereport(LOG, - (errmsg("starting point-in-time recovery to XID %u", - recoveryTargetXid))); + (errmsg("starting point-in-time recovery to XID %llu", + (unsigned long long) recoveryTargetXid))); else if (recoveryTarget == RECOVERY_TARGET_TIME) ereport(LOG, (errmsg("starting point-in-time recovery to %s", @@ -815,18 +815,21 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr, U64FromFullTransactionId(checkPoint.nextXid), checkPoint.nextOid))); ereport(DEBUG1, - (errmsg_internal("next MultiXactId: %u; next MultiXactOffset: %u", - checkPoint.nextMulti, checkPoint.nextMultiOffset))); + (errmsg_internal("next MultiXactId: %llu; next MultiXactOffset: %llu", + (unsigned long long) checkPoint.nextMulti, + (unsigned long long) checkPoint.nextMultiOffset))); ereport(DEBUG1, - (errmsg_internal("oldest unfrozen transaction ID: %u, in database %u", - checkPoint.oldestXid, checkPoint.oldestXidDB))); + (errmsg_internal("oldest unfrozen transaction ID: %llu, in database %u", + (unsigned long long) checkPoint.oldestXid, + checkPoint.oldestXidDB))); ereport(DEBUG1, - (errmsg_internal("oldest MultiXactId: %u, in database %u", - checkPoint.oldestMulti, checkPoint.oldestMultiDB))); + (errmsg_internal("oldest MultiXactId: %llu, in database %u", + (unsigned long long) checkPoint.oldestMulti, + checkPoint.oldestMultiDB))); ereport(DEBUG1, - (errmsg_internal("commit timestamp Xid oldest/newest: %u/%u", - checkPoint.oldestCommitTsXid, - checkPoint.newestCommitTsXid))); + (errmsg_internal("commit timestamp Xid oldest/newest: %llu/%llu", + (unsigned long long) checkPoint.oldestCommitTsXid, + (unsigned long long) checkPoint.newestCommitTsXid))); if (!TransactionIdIsNormal(XidFromFullTransactionId(checkPoint.nextXid))) ereport(PANIC, (errmsg("invalid next transaction ID"))); @@ -2519,15 +2522,15 @@ recoveryStopsBefore(XLogReaderState *record) if (isCommit) { ereport(LOG, - (errmsg("recovery stopping before commit of transaction %u, time %s", - recoveryStopXid, + (errmsg("recovery stopping before commit of transaction %llu, time %s", + (unsigned long long) recoveryStopXid, timestamptz_to_str(recoveryStopTime)))); } else { ereport(LOG, - (errmsg("recovery stopping before abort of transaction %u, time %s", - recoveryStopXid, + (errmsg("recovery stopping before abort of transaction %llu, time %s", + (unsigned long long) recoveryStopXid, timestamptz_to_str(recoveryStopTime)))); } } @@ -2664,16 +2667,16 @@ recoveryStopsAfter(XLogReaderState *record) xact_info == XLOG_XACT_COMMIT_PREPARED) { ereport(LOG, - (errmsg("recovery stopping after commit of transaction %u, time %s", - recoveryStopXid, + (errmsg("recovery stopping after commit of transaction %llu, time %s", + (unsigned long long) recoveryStopXid, timestamptz_to_str(recoveryStopTime)))); } else if (xact_info == XLOG_XACT_ABORT || xact_info == XLOG_XACT_ABORT_PREPARED) { ereport(LOG, - (errmsg("recovery stopping after abort of transaction %u, time %s", - recoveryStopXid, + (errmsg("recovery stopping after abort of transaction %llu, time %s", + (unsigned long long) recoveryStopXid, timestamptz_to_str(recoveryStopTime)))); } return true; @@ -2708,9 +2711,9 @@ getRecoveryStopReason(void) if (recoveryTarget == RECOVERY_TARGET_XID) snprintf(reason, sizeof(reason), - "%s transaction %u", + "%s transaction %llu", recoveryStopAfter ? "after" : "before", - recoveryStopXid); + (unsigned long long) recoveryStopXid); else if (recoveryTarget == RECOVERY_TARGET_TIME) snprintf(reason, sizeof(reason), "%s %s\n", diff --git a/src/backend/replication/logical/logical.c b/src/backend/replication/logical/logical.c index 788769dd73..6d95c2f612 100644 --- a/src/backend/replication/logical/logical.c +++ b/src/backend/replication/logical/logical.c @@ -1616,8 +1616,8 @@ LogicalIncreaseXminForSlot(XLogRecPtr current_lsn, TransactionId xmin) SpinLockRelease(&slot->mutex); if (got_new_xmin) - elog(DEBUG1, "got new catalog xmin %u at %X/%X", xmin, - LSN_FORMAT_ARGS(current_lsn)); + elog(DEBUG1, "got new catalog xmin %llu at %X/%X", + (unsigned long long) xmin, LSN_FORMAT_ARGS(current_lsn)); /* candidate already valid with the current flush position, apply */ if (updated_xmin) diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c index 6887dc23f6..2268a9af2a 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -2449,8 +2449,8 @@ ReorderBufferProcessTXN(ReorderBuffer *rb, ReorderBufferTXN *txn, /* this is just a sanity check against bad output plugin behaviour */ if (GetCurrentTransactionIdIfAny() != InvalidTransactionId) - elog(ERROR, "output plugin used XID %u", - GetCurrentTransactionId()); + elog(ERROR, "output plugin used XID %llu", + (unsigned long long) GetCurrentTransactionId()); /* * Remember the command ID and snapshot for the next set of changes in @@ -2888,7 +2888,8 @@ ReorderBufferAbortOld(ReorderBuffer *rb, TransactionId oldestRunningXid) if (TransactionIdPrecedes(txn->xid, oldestRunningXid)) { - elog(DEBUG2, "aborting old transaction %u", txn->xid); + elog(DEBUG2, "aborting old transaction %llu", + (unsigned long long) txn->xid); /* remove potential on-disk data, and deallocate this tx */ ReorderBufferCleanupTXN(rb, txn); @@ -3530,8 +3531,8 @@ ReorderBufferSerializeTXN(ReorderBuffer *rb, ReorderBufferTXN *txn) Size spilled = 0; Size size = txn->size; - elog(DEBUG2, "spill %u changes in XID %u to disk", - (uint32) txn->nentries_mem, txn->xid); + elog(DEBUG2, "spill %u changes in XID %llu to disk", + (uint32) txn->nentries_mem, (unsigned long long) txn->xid); /* do the same to all child TXs */ dlist_foreach(subtxn_i, &txn->subtxns) @@ -3807,8 +3808,8 @@ ReorderBufferSerializeChange(ReorderBuffer *rb, ReorderBufferTXN *txn, errno = save_errno ? save_errno : ENOSPC; ereport(ERROR, (errcode_for_file_access(), - errmsg("could not write to data file for XID %u: %m", - txn->xid))); + errmsg("could not write to data file for XID %llu: %m", + (unsigned long long) txn->xid))); } pgstat_report_wait_end(); @@ -4450,9 +4451,9 @@ ReorderBufferSerializedPath(char *path, ReplicationSlot *slot, TransactionId xid XLogSegNoOffsetToRecPtr(segno, 0, wal_segment_size, recptr); - snprintf(path, MAXPGPATH, "pg_replslot/%s/xid-%u-lsn-%X-%X.spill", + snprintf(path, MAXPGPATH, "pg_replslot/%s/xid-%llu-lsn-%X-%X.spill", NameStr(MyReplicationSlot->data.name), - xid, LSN_FORMAT_ARGS(recptr)); + (unsigned long long) xid, LSN_FORMAT_ARGS(recptr)); } /* @@ -5081,8 +5082,8 @@ UpdateLogicalMappings(HTAB *tuplecid_data, Oid relid, Snapshot snapshot) { RewriteMappingFile *f = (RewriteMappingFile *) lfirst(file); - elog(DEBUG1, "applying mapping: \"%s\" in %u", f->fname, - snapshot->subxip[0]); + elog(DEBUG1, "applying mapping: \"%s\" in %llu", f->fname, + (unsigned long long) snapshot->subxip[0]); ApplyLogicalMappingFile(tuplecid_data, relid, f->fname); pfree(f); } diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c index 83fca8a77d..4e03f27ac8 100644 --- a/src/backend/replication/logical/snapbuild.c +++ b/src/backend/replication/logical/snapbuild.c @@ -847,8 +847,8 @@ SnapBuildDistributeNewCatalogSnapshot(SnapBuild *builder, XLogRecPtr lsn) if (rbtxn_prepared(txn) || rbtxn_skip_prepared(txn)) continue; - elog(DEBUG2, "adding a new snapshot to %u at %X/%X", - txn->xid, LSN_FORMAT_ARGS(lsn)); + elog(DEBUG2, "adding a new snapshot to %llu at %X/%X", + (unsigned long long) txn->xid, LSN_FORMAT_ARGS(lsn)); /* * increase the snapshot's refcount for the transaction we are handing @@ -922,9 +922,9 @@ SnapBuildPurgeCommittedTxn(SnapBuild *builder) memcpy(builder->committed.xip, workspace, surviving_xids * sizeof(TransactionId)); - elog(DEBUG3, "purged committed transactions from %u to %u, xmin: %u, xmax: %u", + elog(DEBUG3, "purged committed transactions from %u to %u, xmin: %llu, xmax: %llu", (uint32) builder->committed.xcnt, (uint32) surviving_xids, - builder->xmin, builder->xmax); + (unsigned long long) builder->xmin, (unsigned long long) builder->xmax); builder->committed.xcnt = surviving_xids; pfree(workspace); @@ -988,8 +988,8 @@ SnapBuildCommitTxn(SnapBuild *builder, XLogRecPtr lsn, TransactionId xid, sub_needs_timetravel = true; needs_snapshot = true; - elog(DEBUG1, "found subtransaction %u:%u with catalog changes", - xid, subxid); + elog(DEBUG1, "found subtransaction %llu:%llu with catalog changes", + (unsigned long long) xid, (unsigned long long) subxid); SnapBuildAddCommittedTxn(builder, subxid); @@ -1014,8 +1014,8 @@ SnapBuildCommitTxn(SnapBuild *builder, XLogRecPtr lsn, TransactionId xid, /* if top-level modified catalog, it'll need a snapshot */ if (ReorderBufferXidHasCatalogChanges(builder->reorder, xid)) { - elog(DEBUG2, "found top level transaction %u, with catalog changes", - xid); + elog(DEBUG2, "found top level transaction %llu, with catalog changes", + (unsigned long long) xid); needs_snapshot = true; needs_timetravel = true; SnapBuildAddCommittedTxn(builder, xid); @@ -1027,7 +1027,8 @@ SnapBuildCommitTxn(SnapBuild *builder, XLogRecPtr lsn, TransactionId xid, } else if (needs_timetravel) { - elog(DEBUG2, "forced transaction %u to do timetravel", xid); + elog(DEBUG2, "forced transaction %llu to do timetravel", + (unsigned long long) xid); SnapBuildAddCommittedTxn(builder, xid); } @@ -1149,8 +1150,11 @@ SnapBuildProcessRunningXacts(SnapBuild *builder, XLogRecPtr lsn, xl_running_xact xmin = ReorderBufferGetOldestXmin(builder->reorder); if (xmin == InvalidTransactionId) xmin = running->oldestRunningXid; - elog(DEBUG3, "xmin: %u, xmax: %u, oldest running: %u, oldest xmin: %u", - builder->xmin, builder->xmax, running->oldestRunningXid, xmin); + elog(DEBUG3, "xmin: %llu, xmax: %llu, oldest running: %llu, oldest xmin: %llu", + (unsigned long long) builder->xmin, + (unsigned long long) builder->xmax, + (unsigned long long) running->oldestRunningXid, + (unsigned long long) xmin); LogicalIncreaseXminForSlot(lsn, xmin); /* @@ -1239,8 +1243,9 @@ SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *runn ereport(DEBUG1, (errmsg_internal("skipping snapshot at %X/%X while building logical decoding snapshot, xmin horizon too low", LSN_FORMAT_ARGS(lsn)), - errdetail_internal("initial xmin horizon of %u vs the snapshot's %u", - builder->initial_xmin_horizon, running->oldestRunningXid))); + errdetail_internal("initial xmin horizon of %llu vs the snapshot's %llu", + (unsigned long long) builder->initial_xmin_horizon, + (unsigned long long) running->oldestRunningXid))); SnapBuildWaitSnapshot(running, builder->initial_xmin_horizon); @@ -1322,8 +1327,9 @@ SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *runn ereport(LOG, (errmsg("logical decoding found initial starting point at %X/%X", LSN_FORMAT_ARGS(lsn)), - errdetail("Waiting for transactions (approximately %d) older than %u to end.", - running->xcnt, running->nextXid))); + errdetail("Waiting for transactions (approximately %d) older than %llu to end.", + running->xcnt, + (unsigned long long) running->nextXid))); SnapBuildWaitSnapshot(running, running->nextXid); } @@ -1346,8 +1352,9 @@ SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *runn ereport(LOG, (errmsg("logical decoding found initial consistent point at %X/%X", LSN_FORMAT_ARGS(lsn)), - errdetail("Waiting for transactions (approximately %d) older than %u to end.", - running->xcnt, running->nextXid))); + errdetail("Waiting for transactions (approximately %d) older than %llu to end.", + running->xcnt, + (unsigned long long) running->nextXid))); SnapBuildWaitSnapshot(running, running->nextXid); } diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c index 9181d3e863..26f68d95cf 100644 --- a/src/backend/replication/logical/worker.c +++ b/src/backend/replication/logical/worker.c @@ -1089,7 +1089,8 @@ apply_handle_stream_prepare(StringInfo s) logicalrep_read_stream_prepare(s, &prepare_data); set_apply_error_context_xact(prepare_data.xid, prepare_data.prepare_lsn); - elog(DEBUG1, "received prepare for streamed transaction %u", prepare_data.xid); + elog(DEBUG1, "received prepare for streamed transaction %llu", + (unsigned long long) prepare_data.xid); /* Replay all the spooled operations. */ apply_spooled_messages(prepare_data.xid, prepare_data.prepare_lsn); @@ -1480,7 +1481,8 @@ apply_handle_stream_commit(StringInfo s) xid = logicalrep_read_stream_commit(s, &commit_data); set_apply_error_context_xact(xid, commit_data.commit_lsn); - elog(DEBUG1, "received commit for streamed transaction %u", xid); + elog(DEBUG1, "received commit for streamed transaction %llu", + (unsigned long long) xid); apply_spooled_messages(xid, commit_data.commit_lsn); @@ -3296,14 +3298,16 @@ subxact_info_add(TransactionId xid) static inline void subxact_filename(char *path, Oid subid, TransactionId xid) { - snprintf(path, MAXPGPATH, "%u-%u.subxacts", subid, xid); + snprintf(path, MAXPGPATH, "%u-%llu.subxacts", subid, + (unsigned long long) xid); } /* format filename for file containing serialized changes */ static inline void changes_filename(char *path, Oid subid, TransactionId xid) { - snprintf(path, MAXPGPATH, "%u-%u.changes", subid, xid); + snprintf(path, MAXPGPATH, "%u-%llu.changes", subid, + (unsigned long long) xid); } /* @@ -3465,7 +3469,7 @@ TwoPhaseTransactionGid(Oid subid, TransactionId xid, char *gid, int szgid) (errcode(ERRCODE_PROTOCOL_VIOLATION), errmsg_internal("invalid two-phase transaction ID"))); - snprintf(gid, szgid, "pg_gid_%u_%u", subid, xid); + snprintf(gid, szgid, "pg_gid_%u_%llu", subid, (unsigned long long) xid); } /* @@ -3981,33 +3985,33 @@ apply_error_callback(void *arg) errarg->origin_name, logicalrep_message_type(errarg->command)); else if (XLogRecPtrIsInvalid(errarg->finish_lsn)) - errcontext("processing remote data for replication origin \"%s\" during \"%s\" in transaction %u", + errcontext("processing remote data for replication origin \"%s\" during \"%s\" in transaction %llu", errarg->origin_name, logicalrep_message_type(errarg->command), - errarg->remote_xid); + (unsigned long long) errarg->remote_xid); else - errcontext("processing remote data for replication origin \"%s\" during \"%s\" in transaction %u finished at %X/%X", + errcontext("processing remote data for replication origin \"%s\" during \"%s\" in transaction %llu finished at %X/%X", errarg->origin_name, logicalrep_message_type(errarg->command), - errarg->remote_xid, + (unsigned long long) errarg->remote_xid, LSN_FORMAT_ARGS(errarg->finish_lsn)); } else if (errarg->remote_attnum < 0) - errcontext("processing remote data for replication origin \"%s\" during \"%s\" for replication target relation \"%s.%s\" in transaction %u finished at %X/%X", + errcontext("processing remote data for replication origin \"%s\" during \"%s\" for replication target relation \"%s.%s\" in transaction %llu finished at %X/%X", errarg->origin_name, logicalrep_message_type(errarg->command), errarg->rel->remoterel.nspname, errarg->rel->remoterel.relname, - errarg->remote_xid, + (unsigned long long) errarg->remote_xid, LSN_FORMAT_ARGS(errarg->finish_lsn)); else - errcontext("processing remote data for replication origin \"%s\" during \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u finished at %X/%X", + errcontext("processing remote data for replication origin \"%s\" during \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %llu finished at %X/%X", errarg->origin_name, logicalrep_message_type(errarg->command), errarg->rel->remoterel.nspname, errarg->rel->remoterel.relname, errarg->rel->remoterel.attnames[errarg->remote_attnum], - errarg->remote_xid, + (unsigned long long) errarg->remote_xid, LSN_FORMAT_ARGS(errarg->finish_lsn)); } diff --git a/src/backend/replication/walreceiver.c b/src/backend/replication/walreceiver.c index 3c9411e221..9c8a58a776 100644 --- a/src/backend/replication/walreceiver.c +++ b/src/backend/replication/walreceiver.c @@ -1216,8 +1216,9 @@ XLogWalRcvSendHSFeedback(bool immed) if (nextXid < catalog_xmin) catalog_xmin_epoch--; - elog(DEBUG2, "sending hot standby feedback xmin %u epoch %u catalog_xmin %u catalog_xmin_epoch %u", - xmin, xmin_epoch, catalog_xmin, catalog_xmin_epoch); + elog(DEBUG2, "sending hot standby feedback xmin %llu epoch %u catalog_xmin %llu catalog_xmin_epoch %u", + (unsigned long long) xmin, xmin_epoch, + (unsigned long long) catalog_xmin, catalog_xmin_epoch); /* Construct the message and send it. */ resetStringInfo(&reply_message); diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index 75400a53f2..4ffa355d24 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -2252,10 +2252,10 @@ ProcessStandbyHSFeedbackMessage(void) /* Copy because timestamptz_to_str returns a static buffer */ replyTimeStr = pstrdup(timestamptz_to_str(replyTime)); - elog(DEBUG2, "hot standby feedback xmin %u epoch %u, catalog_xmin %u epoch %u reply_time %s", - feedbackXmin, + elog(DEBUG2, "hot standby feedback xmin %llu epoch %u, catalog_xmin %llu epoch %u reply_time %s", + (unsigned long long) feedbackXmin, feedbackEpoch, - feedbackCatalogXmin, + (unsigned long long) feedbackCatalogXmin, feedbackCatalogEpoch, replyTimeStr); diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c index cb39fdde33..66976445f1 100644 --- a/src/backend/storage/ipc/procarray.c +++ b/src/backend/storage/ipc/procarray.c @@ -1102,9 +1102,9 @@ ProcArrayApplyRecoveryInfo(RunningTransactions running) else elog(trace_recovery(DEBUG1), "recovery snapshot waiting for non-overflowed snapshot or " - "until oldest active xid on standby is at least %u (now %u)", - standbySnapshotPendingXmin, - running->oldestRunningXid); + "until oldest active xid on standby is at least %llu (now %llu)", + (unsigned long long) standbySnapshotPendingXmin, + (unsigned long long) running->oldestRunningXid); return; } } @@ -1188,8 +1188,8 @@ ProcArrayApplyRecoveryInfo(RunningTransactions running) if (i > 0 && TransactionIdEquals(xids[i - 1], xids[i])) { elog(DEBUG1, - "found duplicated transaction %u for KnownAssignedXids insertion", - xids[i]); + "found duplicated transaction %llu for KnownAssignedXids insertion", + (unsigned long long) xids[i]); continue; } KnownAssignedXidsAdd(xids[i], xids[i], true); @@ -1273,9 +1273,9 @@ ProcArrayApplyRecoveryInfo(RunningTransactions running) else elog(trace_recovery(DEBUG1), "recovery snapshot waiting for non-overflowed snapshot or " - "until oldest active xid on standby is at least %u (now %u)", - standbySnapshotPendingXmin, - running->oldestRunningXid); + "until oldest active xid on standby is at least %llu (now %llu)", + (unsigned long long) standbySnapshotPendingXmin, + (unsigned long long) running->oldestRunningXid); } /* @@ -3996,7 +3996,8 @@ XidCacheRemoveRunningXids(TransactionId xid, * debug warning. */ if (j < 0 && !MyProc->subxidStatus.overflowed) - elog(WARNING, "did not find subXID %u in MyProc", anxid); + elog(WARNING, "did not find subXID %llu in MyProc", + (unsigned long long) anxid); } for (j = MyProc->subxidStatus.count - 1; j >= 0; j--) @@ -4012,7 +4013,8 @@ XidCacheRemoveRunningXids(TransactionId xid, } /* Ordinarily we should have found it, unless the cache has overflowed */ if (j < 0 && !MyProc->subxidStatus.overflowed) - elog(WARNING, "did not find subXID %u in MyProc", xid); + elog(WARNING, "did not find subXID %llu in MyProc", + (unsigned long long) xid); /* Also advance global latestCompletedXid while holding the lock */ MaintainLatestCompletedXid(latestXid); @@ -4389,8 +4391,8 @@ RecordKnownAssignedTransactionIds(TransactionId xid) Assert(TransactionIdIsValid(xid)); Assert(TransactionIdIsValid(latestObservedXid)); - elog(trace_recovery(DEBUG4), "record known xact %u latestObservedXid %u", - xid, latestObservedXid); + elog(trace_recovery(DEBUG4), "record known xact %llu latestObservedXid %llu", + (unsigned long long) xid, (unsigned long long) latestObservedXid); /* * When a newly observed xid arrives, it is frequently the case that it is @@ -4900,7 +4902,8 @@ KnownAssignedXidsRemove(TransactionId xid) { Assert(TransactionIdIsValid(xid)); - elog(trace_recovery(DEBUG4), "remove KnownAssignedXid %u", xid); + elog(trace_recovery(DEBUG4), "remove KnownAssignedXid %llu", + (unsigned long long) xid); /* * Note: we cannot consider it an error to remove an XID that's not @@ -4960,7 +4963,8 @@ KnownAssignedXidsRemovePreceding(TransactionId removeXid) return; } - elog(trace_recovery(DEBUG4), "prune KnownAssignedXids to %u", removeXid); + elog(trace_recovery(DEBUG4), "prune KnownAssignedXids to %llu", + (unsigned long long) removeXid); /* * Mark entries invalid starting at the tail. Since array is sorted, we @@ -5148,7 +5152,8 @@ KnownAssignedXidsDisplay(int trace_level) if (KnownAssignedXidsValid[i]) { nxids++; - appendStringInfo(&buf, "[%d]=%u ", i, KnownAssignedXids[i]); + appendStringInfo(&buf, "[%d]=%llu ", i, + (unsigned long long) KnownAssignedXids[i]); } } diff --git a/src/backend/storage/ipc/standby.c b/src/backend/storage/ipc/standby.c index 2850867323..c90bb063bc 100644 --- a/src/backend/storage/ipc/standby.c +++ b/src/backend/storage/ipc/standby.c @@ -995,14 +995,14 @@ StandbyReleaseLockList(List *locks) LOCKTAG locktag; elog(trace_recovery(DEBUG4), - "releasing recovery lock: xid %u db %u rel %u", - lock->xid, lock->dbOid, lock->relOid); + "releasing recovery lock: xid %llu db %u rel %u", + (unsigned long long) lock->xid, lock->dbOid, lock->relOid); SET_LOCKTAG_RELATION(locktag, lock->dbOid, lock->relOid); if (!LockRelease(&locktag, AccessExclusiveLock, true)) { elog(LOG, - "RecoveryLockLists contains entry for lock no longer recorded by lock manager: xid %u database %u relation %u", - lock->xid, lock->dbOid, lock->relOid); + "RecoveryLockLists contains entry for lock no longer recorded by lock manager: xid %llu database %u relation %u", + (unsigned long long) lock->xid, lock->dbOid, lock->relOid); Assert(false); } } @@ -1306,20 +1306,20 @@ LogCurrentRunningXacts(RunningTransactions CurrRunningXacts) if (CurrRunningXacts->subxid_overflow) elog(trace_recovery(DEBUG2), - "snapshot of %u running transactions overflowed (lsn %X/%X oldest xid %u latest complete %u next xid %u)", + "snapshot of %u running transactions overflowed (lsn %X/%X oldest xid %llu latest complete %llu next xid %llu)", CurrRunningXacts->xcnt, LSN_FORMAT_ARGS(recptr), - CurrRunningXacts->oldestRunningXid, - CurrRunningXacts->latestCompletedXid, - CurrRunningXacts->nextXid); + (unsigned long long) CurrRunningXacts->oldestRunningXid, + (unsigned long long) CurrRunningXacts->latestCompletedXid, + (unsigned long long) CurrRunningXacts->nextXid); else elog(trace_recovery(DEBUG2), - "snapshot of %u+%u running transaction ids (lsn %X/%X oldest xid %u latest complete %u next xid %u)", + "snapshot of %u+%u running transaction ids (lsn %X/%X oldest xid %llu latest complete %llu next xid %llu)", CurrRunningXacts->xcnt, CurrRunningXacts->subxcnt, LSN_FORMAT_ARGS(recptr), - CurrRunningXacts->oldestRunningXid, - CurrRunningXacts->latestCompletedXid, - CurrRunningXacts->nextXid); + (unsigned long long) CurrRunningXacts->oldestRunningXid, + (unsigned long long) CurrRunningXacts->latestCompletedXid, + (unsigned long long) CurrRunningXacts->nextXid); /* * Ensure running_xacts information is synced to disk not too far in the diff --git a/src/backend/storage/lmgr/predicate.c b/src/backend/storage/lmgr/predicate.c index bea5d810e0..f0e4ac8898 100644 --- a/src/backend/storage/lmgr/predicate.c +++ b/src/backend/storage/lmgr/predicate.c @@ -4168,7 +4168,8 @@ CheckForSerializableConflictOut(Relation relation, TransactionId xid, Snapshot s ereport(ERROR, (errcode(ERRCODE_T_R_SERIALIZATION_FAILURE), errmsg("could not serialize access due to read/write dependencies among transactions"), - errdetail_internal("Reason code: Canceled on conflict out to old pivot %u.", xid), + errdetail_internal("Reason code: Canceled on conflict out to old pivot %llu.", + (unsigned long long) xid), errhint("The transaction might succeed if retried."))); if (SxactHasSummaryConflictIn(MySerializableXact) @@ -4176,7 +4177,8 @@ CheckForSerializableConflictOut(Relation relation, TransactionId xid, Snapshot s ereport(ERROR, (errcode(ERRCODE_T_R_SERIALIZATION_FAILURE), errmsg("could not serialize access due to read/write dependencies among transactions"), - errdetail_internal("Reason code: Canceled on identification as a pivot, with conflict out to old committed transaction %u.", xid), + errdetail_internal("Reason code: Canceled on identification as a pivot, with conflict out to old committed transaction %llu.", + (unsigned long long) xid), errhint("The transaction might succeed if retried."))); MySerializableXact->flags |= SXACT_FLAG_SUMMARY_CONFLICT_OUT; @@ -4806,7 +4808,8 @@ OnConflict_CheckForSerializationFailure(const SERIALIZABLEXACT *reader, ereport(ERROR, (errcode(ERRCODE_T_R_SERIALIZATION_FAILURE), errmsg("could not serialize access due to read/write dependencies among transactions"), - errdetail_internal("Reason code: Canceled on conflict out to pivot %u, during read.", writer->topXid), + errdetail_internal("Reason code: Canceled on conflict out to pivot %llu, during read.", + (unsigned long long) writer->topXid), errhint("The transaction might succeed if retried."))); } writer->flags |= SXACT_FLAG_DOOMED; diff --git a/src/backend/utils/adt/lockfuncs.c b/src/backend/utils/adt/lockfuncs.c index 023a004ac8..359cde8772 100644 --- a/src/backend/utils/adt/lockfuncs.c +++ b/src/backend/utils/adt/lockfuncs.c @@ -79,7 +79,8 @@ VXIDGetDatum(BackendId bid, LocalTransactionId lxid) */ char vxidstr[32]; - snprintf(vxidstr, sizeof(vxidstr), "%d/%u", bid, lxid); + snprintf(vxidstr, sizeof(vxidstr), "%d/%llu", bid, + (unsigned long long) lxid); return CStringGetTextDatum(vxidstr); } diff --git a/src/backend/utils/error/csvlog.c b/src/backend/utils/error/csvlog.c index 5c49bc4209..5e7d842da3 100644 --- a/src/backend/utils/error/csvlog.c +++ b/src/backend/utils/error/csvlog.c @@ -153,11 +153,12 @@ write_csvlog(ErrorData *edata) /* Virtual transaction id */ /* keep VXID format in sync with lockfuncs.c */ if (MyProc != NULL && MyProc->backendId != InvalidBackendId) - appendStringInfo(&buf, "%d/%u", MyProc->backendId, MyProc->lxid); + appendStringInfo(&buf, "%d/%llu", MyProc->backendId, + (unsigned long long) MyProc->lxid); appendStringInfoChar(&buf, ','); /* Transaction id */ - appendStringInfo(&buf, "%u", GetTopTransactionIdIfAny()); + appendStringInfo(&buf, "%llu", (unsigned long long) GetTopTransactionIdIfAny()); appendStringInfoChar(&buf, ','); /* Error severity */ diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index 72778b896a..12e05a3b18 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -2754,12 +2754,14 @@ log_line_prefix(StringInfo buf, ErrorData *edata) { char strfbuf[128]; - snprintf(strfbuf, sizeof(strfbuf) - 1, "%d/%u", - MyProc->backendId, MyProc->lxid); + snprintf(strfbuf, sizeof(strfbuf) - 1, "%d/%llu", + MyProc->backendId, + (unsigned long long) MyProc->lxid); appendStringInfo(buf, "%*s", padding, strfbuf); } else - appendStringInfo(buf, "%d/%u", MyProc->backendId, MyProc->lxid); + appendStringInfo(buf, "%d/%llu", MyProc->backendId, + (unsigned long long) MyProc->lxid); } else if (padding != 0) appendStringInfoSpaces(buf, @@ -2767,9 +2769,11 @@ log_line_prefix(StringInfo buf, ErrorData *edata) break; case 'x': if (padding != 0) - appendStringInfo(buf, "%*u", padding, GetTopTransactionIdIfAny()); + appendStringInfo(buf, "%*llu", padding, + (unsigned long long) GetTopTransactionIdIfAny()); else - appendStringInfo(buf, "%u", GetTopTransactionIdIfAny()); + appendStringInfo(buf, "%llu", + (unsigned long long) GetTopTransactionIdIfAny()); break; case 'e': if (padding != 0) diff --git a/src/backend/utils/error/jsonlog.c b/src/backend/utils/error/jsonlog.c index f336c063e5..f0ce2b26f5 100644 --- a/src/backend/utils/error/jsonlog.c +++ b/src/backend/utils/error/jsonlog.c @@ -198,12 +198,12 @@ write_jsonlog(ErrorData *edata) /* Virtual transaction id */ /* keep VXID format in sync with lockfuncs.c */ if (MyProc != NULL && MyProc->backendId != InvalidBackendId) - appendJSONKeyValueFmt(&buf, "vxid", true, "%d/%u", MyProc->backendId, - MyProc->lxid); + appendJSONKeyValueFmt(&buf, "vxid", true, "%d/%llu", MyProc->backendId, + (unsigned long long) MyProc->lxid); /* Transaction id */ - appendJSONKeyValueFmt(&buf, "txid", false, "%u", - GetTopTransactionIdIfAny()); + appendJSONKeyValueFmt(&buf, "txid", false, "%llu", + (unsigned long long) GetTopTransactionIdIfAny()); /* Error severity */ if (edata->elevel) diff --git a/src/backend/utils/misc/pg_controldata.c b/src/backend/utils/misc/pg_controldata.c index 781f8b8758..88f6f33ef5 100644 --- a/src/backend/utils/misc/pg_controldata.c +++ b/src/backend/utils/misc/pg_controldata.c @@ -164,9 +164,9 @@ pg_control_checkpoint(PG_FUNCTION_ARGS) values[5] = BoolGetDatum(ControlFile->checkPointCopy.fullPageWrites); nulls[5] = false; - values[6] = CStringGetTextDatum(psprintf("%u:%u", + values[6] = CStringGetTextDatum(psprintf("%u:%llu", EpochFromFullTransactionId(ControlFile->checkPointCopy.nextXid), - XidFromFullTransactionId(ControlFile->checkPointCopy.nextXid))); + (unsigned long long) XidFromFullTransactionId(ControlFile->checkPointCopy.nextXid))); nulls[6] = false; values[7] = ObjectIdGetDatum(ControlFile->checkPointCopy.nextOid); diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c index a0be0c411a..1bf1abf42c 100644 --- a/src/backend/utils/time/snapmgr.c +++ b/src/backend/utils/time/snapmgr.c @@ -1202,14 +1202,15 @@ ExportSnapshot(Snapshot snapshot) */ initStringInfo(&buf); - appendStringInfo(&buf, "vxid:%d/%u\n", MyProc->backendId, MyProc->lxid); + appendStringInfo(&buf, "vxid:%d/%llu\n", MyProc->backendId, + (unsigned long long) MyProc->lxid); appendStringInfo(&buf, "pid:%d\n", MyProcPid); appendStringInfo(&buf, "dbid:%u\n", MyDatabaseId); appendStringInfo(&buf, "iso:%d\n", XactIsoLevel); appendStringInfo(&buf, "ro:%d\n", XactReadOnly); - appendStringInfo(&buf, "xmin:%u\n", snapshot->xmin); - appendStringInfo(&buf, "xmax:%u\n", snapshot->xmax); + appendStringInfo(&buf, "xmin:%llu\n", (unsigned long long) snapshot->xmin); + appendStringInfo(&buf, "xmax:%llu\n", (unsigned long long) snapshot->xmax); /* * We must include our own top transaction ID in the top-xid data, since @@ -1226,9 +1227,10 @@ ExportSnapshot(Snapshot snapshot) TransactionIdPrecedes(topXid, snapshot->xmax)) ? 1 : 0; appendStringInfo(&buf, "xcnt:%d\n", snapshot->xcnt + addTopXid); for (i = 0; i < snapshot->xcnt; i++) - appendStringInfo(&buf, "xip:%u\n", snapshot->xip[i]); + appendStringInfo(&buf, "xip:%llu\n", + (unsigned long long) snapshot->xip[i]); if (addTopXid) - appendStringInfo(&buf, "xip:%u\n", topXid); + appendStringInfo(&buf, "xip:%llu\n", (unsigned long long) topXid); /* * Similarly, we add our subcommitted child XIDs to the subxid data. Here, @@ -1242,9 +1244,11 @@ ExportSnapshot(Snapshot snapshot) appendStringInfoString(&buf, "sof:0\n"); appendStringInfo(&buf, "sxcnt:%d\n", snapshot->subxcnt + nchildren); for (i = 0; i < snapshot->subxcnt; i++) - appendStringInfo(&buf, "sxp:%u\n", snapshot->subxip[i]); + appendStringInfo(&buf, "sxp:%llu\n", + (unsigned long long) snapshot->subxip[i]); for (i = 0; i < nchildren; i++) - appendStringInfo(&buf, "sxp:%u\n", children[i]); + appendStringInfo(&buf, "sxp:%llu\n", + (unsigned long long) children[i]); } appendStringInfo(&buf, "rec:%u\n", snapshot->takenDuringRecovery); diff --git a/src/bin/pg_amcheck/t/004_verify_heapam.pl b/src/bin/pg_amcheck/t/004_verify_heapam.pl index bbada168f0..8050811105 100644 --- a/src/bin/pg_amcheck/t/004_verify_heapam.pl +++ b/src/bin/pg_amcheck/t/004_verify_heapam.pl @@ -362,7 +362,7 @@ for (my $tupidx = 0; $tupidx < ROWCOUNT; $tupidx++) # Expected corruption report push @expected, - qr/${header}xmin $xmin precedes relation freeze threshold 0:\d+/; + qr/${header}xmin $xmin precedes relation freeze threshold \d+/; } if ($offnum == 2) { @@ -373,7 +373,7 @@ for (my $tupidx = 0; $tupidx < ROWCOUNT; $tupidx++) $tup->{t_infomask} &= ~HEAP_XMIN_INVALID; push @expected, - qr/${$header}xmin $xmin precedes oldest valid transaction ID 0:\d+/; + qr/${$header}xmin $xmin precedes oldest valid transaction ID \d+/; } elsif ($offnum == 3) { @@ -385,7 +385,7 @@ for (my $tupidx = 0; $tupidx < ROWCOUNT; $tupidx++) $tup->{t_infomask} &= ~HEAP_XMIN_INVALID; push @expected, - qr/${$header}xmin 4026531839 equals or exceeds next valid transaction ID 0:\d+/; + qr/${$header}xmin 4026531839 equals or exceeds next valid transaction ID \d+/; } elsif ($offnum == 4) { @@ -394,7 +394,7 @@ for (my $tupidx = 0; $tupidx < ROWCOUNT; $tupidx++) $tup->{t_infomask} &= ~HEAP_XMAX_INVALID; push @expected, - qr/${$header}xmax 4026531839 equals or exceeds next valid transaction ID 0:\d+/; + qr/${$header}xmax 4026531839 equals or exceeds next valid transaction ID \d+/; } elsif ($offnum == 5) { diff --git a/src/bin/pg_controldata/pg_controldata.c b/src/bin/pg_controldata/pg_controldata.c index c390ec51ce..2c10322355 100644 --- a/src/bin/pg_controldata/pg_controldata.c +++ b/src/bin/pg_controldata/pg_controldata.c @@ -247,29 +247,29 @@ main(int argc, char *argv[]) ControlFile->checkPointCopy.PrevTimeLineID); printf(_("Latest checkpoint's full_page_writes: %s\n"), ControlFile->checkPointCopy.fullPageWrites ? _("on") : _("off")); - printf(_("Latest checkpoint's NextXID: %u:%u\n"), + printf(_("Latest checkpoint's NextXID: %u:%llu\n"), EpochFromFullTransactionId(ControlFile->checkPointCopy.nextXid), - XidFromFullTransactionId(ControlFile->checkPointCopy.nextXid)); + (unsigned long long) XidFromFullTransactionId(ControlFile->checkPointCopy.nextXid)); printf(_("Latest checkpoint's NextOID: %u\n"), ControlFile->checkPointCopy.nextOid); - printf(_("Latest checkpoint's NextMultiXactId: %u\n"), - ControlFile->checkPointCopy.nextMulti); - printf(_("Latest checkpoint's NextMultiOffset: %u\n"), - ControlFile->checkPointCopy.nextMultiOffset); - printf(_("Latest checkpoint's oldestXID: %u\n"), - ControlFile->checkPointCopy.oldestXid); + printf(_("Latest checkpoint's NextMultiXactId: %llu\n"), + (unsigned long long) ControlFile->checkPointCopy.nextMulti); + printf(_("Latest checkpoint's NextMultiOffset: %llu\n"), + (unsigned long long) ControlFile->checkPointCopy.nextMultiOffset); + printf(_("Latest checkpoint's oldestXID: %llu\n"), + (unsigned long long) ControlFile->checkPointCopy.oldestXid); printf(_("Latest checkpoint's oldestXID's DB: %u\n"), ControlFile->checkPointCopy.oldestXidDB); - printf(_("Latest checkpoint's oldestActiveXID: %u\n"), - ControlFile->checkPointCopy.oldestActiveXid); - printf(_("Latest checkpoint's oldestMultiXid: %u\n"), - ControlFile->checkPointCopy.oldestMulti); + printf(_("Latest checkpoint's oldestActiveXID: %llu\n"), + (unsigned long long) ControlFile->checkPointCopy.oldestActiveXid); + printf(_("Latest checkpoint's oldestMultiXid: %llu\n"), + (unsigned long long) ControlFile->checkPointCopy.oldestMulti); printf(_("Latest checkpoint's oldestMulti's DB: %u\n"), ControlFile->checkPointCopy.oldestMultiDB); - printf(_("Latest checkpoint's oldestCommitTsXid:%u\n"), - ControlFile->checkPointCopy.oldestCommitTsXid); - printf(_("Latest checkpoint's newestCommitTsXid:%u\n"), - ControlFile->checkPointCopy.newestCommitTsXid); + printf(_("Latest checkpoint's oldestCommitTsXid:%llu\n"), + (unsigned long long) ControlFile->checkPointCopy.oldestCommitTsXid); + printf(_("Latest checkpoint's newestCommitTsXid:%llu\n"), + (unsigned long long) ControlFile->checkPointCopy.newestCommitTsXid); printf(_("Time of latest checkpoint: %s\n"), ckpttime_str); printf(_("Fake LSN counter for unlogged rels: %X/%X\n"), diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 969e2a7a46..0de9d8906d 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -3057,9 +3057,10 @@ dumpDatabase(Archive *fout) { appendPQExpBufferStr(creaQry, "\n-- For binary upgrade, set datfrozenxid and datminmxid.\n"); appendPQExpBuffer(creaQry, "UPDATE pg_catalog.pg_database\n" - "SET datfrozenxid = '%u', datminmxid = '%u'\n" + "SET datfrozenxid = '%llu', datminmxid = '%llu'\n" "WHERE datname = ", - frozenxid, minmxid); + (unsigned long long) frozenxid, + (unsigned long long) minmxid); appendStringLiteralAH(creaQry, datname, fout); appendPQExpBufferStr(creaQry, ";\n"); } @@ -15498,9 +15499,10 @@ dumpTableSchema(Archive *fout, const TableInfo *tbinfo) { appendPQExpBufferStr(q, "\n-- For binary upgrade, set heap's relfrozenxid and relminmxid\n"); appendPQExpBuffer(q, "UPDATE pg_catalog.pg_class\n" - "SET relfrozenxid = '%u', relminmxid = '%u'\n" + "SET relfrozenxid = '%llu', relminmxid = '%llu'\n" "WHERE oid = ", - tbinfo->frozenxid, tbinfo->minmxid); + (unsigned long long) tbinfo->frozenxid, + (unsigned long long) tbinfo->minmxid); appendStringLiteralAH(q, qualrelname, fout); appendPQExpBufferStr(q, "::pg_catalog.regclass;\n"); @@ -15512,10 +15514,11 @@ dumpTableSchema(Archive *fout, const TableInfo *tbinfo) */ appendPQExpBufferStr(q, "\n-- For binary upgrade, set toast's relfrozenxid and relminmxid\n"); appendPQExpBuffer(q, "UPDATE pg_catalog.pg_class\n" - "SET relfrozenxid = '%u', relminmxid = '%u'\n" + "SET relfrozenxid = '%llu', relminmxid = '%llu'\n" "WHERE oid = '%u';\n", - tbinfo->toast_frozenxid, - tbinfo->toast_minmxid, tbinfo->toast_oid); + (unsigned long long) tbinfo->toast_frozenxid, + (unsigned long long) tbinfo->toast_minmxid, + tbinfo->toast_oid); } } diff --git a/src/bin/pg_resetwal/pg_resetwal.c b/src/bin/pg_resetwal/pg_resetwal.c index d4772a2965..626f1608bc 100644 --- a/src/bin/pg_resetwal/pg_resetwal.c +++ b/src/bin/pg_resetwal/pg_resetwal.c @@ -178,7 +178,8 @@ main(int argc, char *argv[]) exit(1); } if (!TransactionIdIsNormal(set_oldest_xid)) - pg_fatal("oldest transaction ID (-u) must be greater than or equal to %u", FirstNormalTransactionId); + pg_fatal("oldest transaction ID (-u) must be greater than or equal to %llu", + (unsigned long long) FirstNormalTransactionId); break; case 'x': @@ -191,7 +192,8 @@ main(int argc, char *argv[]) exit(1); } if (!TransactionIdIsNormal(set_xid)) - pg_fatal("transaction ID (-x) must be greater than or equal to %u", FirstNormalTransactionId); + pg_fatal("transaction ID (-x) must be greater than or equal to %llu", + (unsigned long long) FirstNormalTransactionId); break; case 'c': @@ -723,29 +725,29 @@ PrintControlValues(bool guessed) ControlFile.checkPointCopy.ThisTimeLineID); printf(_("Latest checkpoint's full_page_writes: %s\n"), ControlFile.checkPointCopy.fullPageWrites ? _("on") : _("off")); - printf(_("Latest checkpoint's NextXID: %u:%u\n"), + printf(_("Latest checkpoint's NextXID: %u:%llu\n"), EpochFromFullTransactionId(ControlFile.checkPointCopy.nextXid), - XidFromFullTransactionId(ControlFile.checkPointCopy.nextXid)); + (unsigned long long) XidFromFullTransactionId(ControlFile.checkPointCopy.nextXid)); printf(_("Latest checkpoint's NextOID: %u\n"), ControlFile.checkPointCopy.nextOid); - printf(_("Latest checkpoint's NextMultiXactId: %u\n"), - ControlFile.checkPointCopy.nextMulti); - printf(_("Latest checkpoint's NextMultiOffset: %u\n"), - ControlFile.checkPointCopy.nextMultiOffset); - printf(_("Latest checkpoint's oldestXID: %u\n"), - ControlFile.checkPointCopy.oldestXid); + printf(_("Latest checkpoint's NextMultiXactId: %llu\n"), + (unsigned long long) ControlFile.checkPointCopy.nextMulti); + printf(_("Latest checkpoint's NextMultiOffset: %llu\n"), + (unsigned long long) ControlFile.checkPointCopy.nextMultiOffset); + printf(_("Latest checkpoint's oldestXID: %llu\n"), + (unsigned long long) ControlFile.checkPointCopy.oldestXid); printf(_("Latest checkpoint's oldestXID's DB: %u\n"), ControlFile.checkPointCopy.oldestXidDB); - printf(_("Latest checkpoint's oldestActiveXID: %u\n"), - ControlFile.checkPointCopy.oldestActiveXid); - printf(_("Latest checkpoint's oldestMultiXid: %u\n"), - ControlFile.checkPointCopy.oldestMulti); + printf(_("Latest checkpoint's oldestActiveXID: %llu\n"), + (unsigned long long) ControlFile.checkPointCopy.oldestActiveXid); + printf(_("Latest checkpoint's oldestMultiXid: %llu\n"), + (unsigned long long) ControlFile.checkPointCopy.oldestMulti); printf(_("Latest checkpoint's oldestMulti's DB: %u\n"), ControlFile.checkPointCopy.oldestMultiDB); - printf(_("Latest checkpoint's oldestCommitTsXid:%u\n"), - ControlFile.checkPointCopy.oldestCommitTsXid); - printf(_("Latest checkpoint's newestCommitTsXid:%u\n"), - ControlFile.checkPointCopy.newestCommitTsXid); + printf(_("Latest checkpoint's oldestCommitTsXid:%llu\n"), + (unsigned long long) ControlFile.checkPointCopy.oldestCommitTsXid); + printf(_("Latest checkpoint's newestCommitTsXid:%llu\n"), + (unsigned long long) ControlFile.checkPointCopy.newestCommitTsXid); printf(_("Maximum data alignment: %u\n"), ControlFile.maxAlign); /* we don't print floatFormat since can't say much useful about it */ @@ -792,18 +794,18 @@ PrintNewControlValues(void) if (set_mxid != 0) { - printf(_("NextMultiXactId: %u\n"), - ControlFile.checkPointCopy.nextMulti); - printf(_("OldestMultiXid: %u\n"), - ControlFile.checkPointCopy.oldestMulti); + printf(_("NextMultiXactId: %llu\n"), + (unsigned long long) ControlFile.checkPointCopy.nextMulti); + printf(_("OldestMultiXid: %llu\n"), + (unsigned long long) ControlFile.checkPointCopy.oldestMulti); printf(_("OldestMulti's DB: %u\n"), ControlFile.checkPointCopy.oldestMultiDB); } if (set_mxoff != -1) { - printf(_("NextMultiOffset: %u\n"), - ControlFile.checkPointCopy.nextMultiOffset); + printf(_("NextMultiOffset: %llu\n"), + (unsigned long long) ControlFile.checkPointCopy.nextMultiOffset); } if (set_oid != 0) @@ -814,10 +816,10 @@ PrintNewControlValues(void) if (set_xid != 0) { - printf(_("NextXID: %u\n"), - XidFromFullTransactionId(ControlFile.checkPointCopy.nextXid)); - printf(_("OldestXID: %u\n"), - ControlFile.checkPointCopy.oldestXid); + printf(_("NextXID: %llu\n"), + (unsigned long long) XidFromFullTransactionId(ControlFile.checkPointCopy.nextXid)); + printf(_("OldestXID: %llu\n"), + (unsigned long long) ControlFile.checkPointCopy.oldestXid); printf(_("OldestXID's DB: %u\n"), ControlFile.checkPointCopy.oldestXidDB); } @@ -830,13 +832,13 @@ PrintNewControlValues(void) if (set_oldest_commit_ts_xid != 0) { - printf(_("oldestCommitTsXid: %u\n"), - ControlFile.checkPointCopy.oldestCommitTsXid); + printf(_("oldestCommitTsXid: %llu\n"), + (unsigned long long) ControlFile.checkPointCopy.oldestCommitTsXid); } if (set_newest_commit_ts_xid != 0) { - printf(_("newestCommitTsXid: %u\n"), - ControlFile.checkPointCopy.newestCommitTsXid); + printf(_("newestCommitTsXid: %llu\n"), + (unsigned long long) ControlFile.checkPointCopy.newestCommitTsXid); } if (set_wal_segsize != 0) diff --git a/src/bin/pg_upgrade/pg_upgrade.c b/src/bin/pg_upgrade/pg_upgrade.c index ecb3e1f647..3e5db964ab 100644 --- a/src/bin/pg_upgrade/pg_upgrade.c +++ b/src/bin/pg_upgrade/pg_upgrade.c @@ -538,16 +538,18 @@ copy_xact_xlog_xid(void) prep_status("Setting oldest XID for new cluster"); exec_prog(UTILITY_LOG_FILE, NULL, true, true, - "\"%s/pg_resetwal\" -f -u %u \"%s\"", - new_cluster.bindir, old_cluster.controldata.chkpnt_oldstxid, + "\"%s/pg_resetwal\" -f -u %llu \"%s\"", + new_cluster.bindir, + (unsigned long long) old_cluster.controldata.chkpnt_oldstxid, new_cluster.pgdata); check_ok(); /* set the next transaction id and epoch of the new cluster */ prep_status("Setting next transaction ID and epoch for new cluster"); exec_prog(UTILITY_LOG_FILE, NULL, true, true, - "\"%s/pg_resetwal\" -f -x %u \"%s\"", - new_cluster.bindir, old_cluster.controldata.chkpnt_nxtxid, + "\"%s/pg_resetwal\" -f -x %llu \"%s\"", + new_cluster.bindir, + (unsigned long long) old_cluster.controldata.chkpnt_nxtxid, new_cluster.pgdata); exec_prog(UTILITY_LOG_FILE, NULL, true, true, "\"%s/pg_resetwal\" -f -e %u \"%s\"", @@ -555,10 +557,10 @@ copy_xact_xlog_xid(void) new_cluster.pgdata); /* must reset commit timestamp limits also */ exec_prog(UTILITY_LOG_FILE, NULL, true, true, - "\"%s/pg_resetwal\" -f -c %u,%u \"%s\"", + "\"%s/pg_resetwal\" -f -c %llu,%llu \"%s\"", new_cluster.bindir, - old_cluster.controldata.chkpnt_nxtxid, - old_cluster.controldata.chkpnt_nxtxid, + (unsigned long long) old_cluster.controldata.chkpnt_nxtxid, + (unsigned long long) old_cluster.controldata.chkpnt_nxtxid, new_cluster.pgdata); check_ok(); @@ -581,11 +583,11 @@ copy_xact_xlog_xid(void) * counters here and the oldest multi present on system. */ exec_prog(UTILITY_LOG_FILE, NULL, true, true, - "\"%s/pg_resetwal\" -O %u -m %u,%u \"%s\"", + "\"%s/pg_resetwal\" -O %llu -m %llu,%llu \"%s\"", new_cluster.bindir, - old_cluster.controldata.chkpnt_nxtmxoff, - old_cluster.controldata.chkpnt_nxtmulti, - old_cluster.controldata.chkpnt_oldstMulti, + (unsigned long long) old_cluster.controldata.chkpnt_nxtmxoff, + (unsigned long long) old_cluster.controldata.chkpnt_nxtmulti, + (unsigned long long) old_cluster.controldata.chkpnt_oldstMulti, new_cluster.pgdata); check_ok(); } @@ -609,10 +611,10 @@ copy_xact_xlog_xid(void) * next=MaxMultiXactId, but multixact.c can cope with that just fine. */ exec_prog(UTILITY_LOG_FILE, NULL, true, true, - "\"%s/pg_resetwal\" -m %u,%u \"%s\"", + "\"%s/pg_resetwal\" -m %llu,%llu \"%s\"", new_cluster.bindir, - old_cluster.controldata.chkpnt_nxtmulti + 1, - old_cluster.controldata.chkpnt_nxtmulti, + (unsigned long long) old_cluster.controldata.chkpnt_nxtmulti + 1, + (unsigned long long) old_cluster.controldata.chkpnt_nxtmulti, new_cluster.pgdata); check_ok(); } @@ -671,14 +673,14 @@ set_frozenxids(bool minmxid_only) /* set pg_database.datfrozenxid */ PQclear(executeQueryOrDie(conn_template1, "UPDATE pg_catalog.pg_database " - "SET datfrozenxid = '%u'", - old_cluster.controldata.chkpnt_nxtxid)); + "SET datfrozenxid = '%llu'", + (unsigned long long) old_cluster.controldata.chkpnt_nxtxid)); /* set pg_database.datminmxid */ PQclear(executeQueryOrDie(conn_template1, "UPDATE pg_catalog.pg_database " - "SET datminmxid = '%u'", - old_cluster.controldata.chkpnt_nxtmulti)); + "SET datminmxid = '%llu'", + (unsigned long long) old_cluster.controldata.chkpnt_nxtmulti)); /* get database names */ dbres = executeQueryOrDie(conn_template1, @@ -712,24 +714,24 @@ set_frozenxids(bool minmxid_only) /* set pg_class.relfrozenxid */ PQclear(executeQueryOrDie(conn, "UPDATE pg_catalog.pg_class " - "SET relfrozenxid = '%u' " + "SET relfrozenxid = '%llu' " /* only heap, materialized view, and TOAST are vacuumed */ "WHERE relkind IN (" CppAsString2(RELKIND_RELATION) ", " CppAsString2(RELKIND_MATVIEW) ", " CppAsString2(RELKIND_TOASTVALUE) ")", - old_cluster.controldata.chkpnt_nxtxid)); + (unsigned long long) old_cluster.controldata.chkpnt_nxtxid)); /* set pg_class.relminmxid */ PQclear(executeQueryOrDie(conn, "UPDATE pg_catalog.pg_class " - "SET relminmxid = '%u' " + "SET relminmxid = '%llu' " /* only heap, materialized view, and TOAST are vacuumed */ "WHERE relkind IN (" CppAsString2(RELKIND_RELATION) ", " CppAsString2(RELKIND_MATVIEW) ", " CppAsString2(RELKIND_TOASTVALUE) ")", - old_cluster.controldata.chkpnt_nxtmulti)); + (unsigned long long) old_cluster.controldata.chkpnt_nxtmulti)); PQfinish(conn); /* Reset datallowconn flag */ diff --git a/src/bin/pg_waldump/pg_waldump.c b/src/bin/pg_waldump/pg_waldump.c index 4f265ef546..ccf59ed728 100644 --- a/src/bin/pg_waldump/pg_waldump.c +++ b/src/bin/pg_waldump/pg_waldump.c @@ -455,10 +455,10 @@ XLogDumpDisplayRecord(XLogDumpConfig *config, XLogReaderState *record) XLogRecGetLen(record, &rec_len, &fpi_len); - printf("rmgr: %-11s len (rec/tot): %6u/%6u, tx: %10u, lsn: %X/%08X, prev %X/%08X, ", + printf("rmgr: %-11s len (rec/tot): %6u/%6u, tx: %20llu, lsn: %X/%08X, prev %X/%08X, ", desc->rm_name, rec_len, XLogRecGetTotalLen(record), - XLogRecGetXid(record), + (unsigned long long) XLogRecGetXid(record), LSN_FORMAT_ARGS(record->ReadRecPtr), LSN_FORMAT_ARGS(xl_prev)); -- 2.35.1