diff --git a/contrib/pageinspect/rawpage.c b/contrib/pageinspect/rawpage.c index 2607576c378..1548dc2e257 100644 --- a/contrib/pageinspect/rawpage.c +++ b/contrib/pageinspect/rawpage.c @@ -135,9 +135,11 @@ get_raw_page_internal(text *relname, ForkNumber forknum, BlockNumber blkno) (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot access temporary tables of other sessions"))); - if (blkno >= RelationGetNumberOfBlocks(rel)) - elog(ERROR, "block number %u is out of range for relation \"%s\"", - blkno, RelationGetRelationName(rel)); + if (blkno >= RelationGetNumberOfBlocksInFork(rel, forknum)) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("block number %u is out of range for relation \"%s\"", + blkno, RelationGetRelationName(rel)))); /* Initialize buffer to copy to */ raw_page = (bytea *) palloc(BLCKSZ + VARHDRSZ); diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 58b64f6570d..aeb814e9efc 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -1926,8 +1926,8 @@ FlushBuffer(volatile BufferDesc *buf, SMgrRelation reln) } /* - * RelationGetNumberOfBlocks - * Determines the current number of pages in the relation. + * RelationGetNumberOfBlocksInFork + * Determines the current number of pages in the specified relation fork. */ BlockNumber RelationGetNumberOfBlocksInFork(Relation relation, ForkNumber forkNum)