diff --git a/contrib/auto_explain/auto_explain.c b/contrib/auto_explain/auto_explain.c
index c8ca7c4..2c30052 100644
--- a/contrib/auto_explain/auto_explain.c
+++ b/contrib/auto_explain/auto_explain.c
@@ -193,7 +193,7 @@ explain_ExecutorStart(QueryDesc *queryDesc, int eflags)
 {
 	if (auto_explain_enabled())
 	{
-		/* Enable per-node instrumentation iff log_analyze is required. */
+		/* Enable per-node instrumentation if log_analyze is required. */
 		if (auto_explain_log_analyze && (eflags & EXEC_FLAG_EXPLAIN_ONLY) == 0)
 		{
 			if (auto_explain_log_timing)
diff --git a/contrib/pgbench/pgbench.c b/contrib/pgbench/pgbench.c
index 7c1e59e..bcf5818 100644
--- a/contrib/pgbench/pgbench.c
+++ b/contrib/pgbench/pgbench.c
@@ -901,7 +901,7 @@ agg_vals_init(AggVals *aggs, instr_time start)
 	aggs->start_time = INSTR_TIME_GET_DOUBLE(start);
 }
 
-/* return false iff client should be disconnected */
+/* return false if client should be disconnected */
 static bool
 doCustom(TState *thread, CState *st, instr_time *conn_time, FILE *logfile, AggVals *agg)
 {
diff --git a/doc/src/sgml/stylesheet.dsl b/doc/src/sgml/stylesheet.dsl
index b4c8f1f..49ca877 100644
--- a/doc/src/sgml/stylesheet.dsl
+++ b/doc/src/sgml/stylesheet.dsl
@@ -86,7 +86,7 @@
 ;   ((member (gi ancestor) (book-element-list))
 ;    #t)
    ;; Add indirect references to the section or component a block
-   ;; is in iff chapters aren't autolabelled.  (Otherwise "Figure 1-3"
+   ;; is in if chapters aren't autolabelled.  (Otherwise "Figure 1-3"
    ;; is sufficient)
    ((and (member (gi target) (block-element-list))
          (not %chapter-autolabel%))
diff --git a/src/backend/access/common/heaptuple.c b/src/backend/access/common/heaptuple.c
index aea9d40..7ac66cb 100644
--- a/src/backend/access/common/heaptuple.c
+++ b/src/backend/access/common/heaptuple.c
@@ -261,7 +261,7 @@ heap_fill_tuple(TupleDesc tupleDesc,
  */
 
 /* ----------------
- *		heap_attisnull	- returns TRUE iff tuple attribute is not present
+ *		heap_attisnull	- returns TRUE if tuple attribute is not present
  * ----------------
  */
 bool
diff --git a/src/backend/access/gin/ginget.c b/src/backend/access/gin/ginget.c
index fda19cf..0b91be0 100644
--- a/src/backend/access/gin/ginget.c
+++ b/src/backend/access/gin/ginget.c
@@ -860,7 +860,7 @@ entryGetItem(GinState *ginstate, GinScanEntry entry,
  * The current item is the smallest curItem among the inputs.  key->curItem
  * is set to that value.  key->curItemMatches is set to indicate whether that
  * TID passes the consistentFn test.  If so, key->recheckCurItem is set true
- * iff recheck is needed for this item pointer (including the case where the
+ * if recheck is needed for this item pointer (including the case where the
  * item pointer is a lossy page pointer).
  *
  * If all entry streams are exhausted, sets key->isFinished to TRUE.
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index 2605f20..0886e7d 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -3033,7 +3033,7 @@ simple_heap_delete(Relation relation, ItemPointer tid)
  *
  * On success, the header fields of *newtup are updated to match the new
  * stored tuple; in particular, newtup->t_self is set to the TID where the
- * new tuple was inserted, and its HEAP_ONLY_TUPLE flag is set iff a HOT
+ * new tuple was inserted, and its HEAP_ONLY_TUPLE flag is set if a HOT
  * update was done.  However, any TOAST changes in the new tuple's
  * data are not reflected into *newtup.
  *
@@ -4963,7 +4963,7 @@ l5:
 	else
 	{
 		/*
-		 * Can get here iff the locking/updating transaction was running when
+		 * Can get here if the locking/updating transaction was running when
 		 * the infomask was extracted from the tuple, but finished before
 		 * TransactionIdIsInProgress got to run.  Deal with it as if there was
 		 * no locker at all in the first place.
diff --git a/src/backend/access/heap/rewriteheap.c b/src/backend/access/heap/rewriteheap.c
index 4cf07ea..8d2c26a 100644
--- a/src/backend/access/heap/rewriteheap.c
+++ b/src/backend/access/heap/rewriteheap.c
@@ -1069,7 +1069,7 @@ logical_rewrite_heap_tuple(RewriteState state, ItemPointerData old_tid,
 	xmax = HeapTupleHeaderGetUpdateXid(new_tuple->t_data);
 
 	/*
-	 * Log the mapping iff the tuple has been created recently.
+	 * Log the mapping if the tuple has been created recently.
 	 */
 	if (TransactionIdIsNormal(xmin) && !TransactionIdPrecedes(xmin, cutoff))
 		do_log_xmin = true;
diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c
index 922412e..93d713b 100644
--- a/src/backend/access/nbtree/nbtinsert.c
+++ b/src/backend/access/nbtree/nbtinsert.c
@@ -715,7 +715,7 @@ _bt_insertonpg(Relation rel,
 	page = BufferGetPage(buf);
 	lpageop = (BTPageOpaque) PageGetSpecialPointer(page);
 
-	/* child buffer must be given iff inserting on an internal page */
+	/* child buffer must be given if inserting on an internal page */
 	Assert(P_ISLEAF(lpageop) == !BufferIsValid(cbuf));
 
 	/* The caller should've finished any incomplete splits already. */
diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c
index 9ddc275..17f3308 100644
--- a/src/backend/access/nbtree/nbtsort.c
+++ b/src/backend/access/nbtree/nbtsort.c
@@ -215,7 +215,7 @@ _bt_leafbuild(BTSpool *btspool, BTSpool *btspool2)
 	wstate.index = btspool->index;
 
 	/*
-	 * We need to log index creation in WAL iff WAL archiving/streaming is
+	 * We need to log index creation in WAL if WAL archiving/streaming is
 	 * enabled UNLESS the index isn't WAL-logged anyway.
 	 */
 	wstate.btws_use_wal = XLogIsNeeded() && RelationNeedsWAL(wstate.index);
diff --git a/src/backend/access/transam/README b/src/backend/access/transam/README
index 3a32471..e4ec4e9 100644
--- a/src/backend/access/transam/README
+++ b/src/backend/access/transam/README
@@ -438,7 +438,7 @@ critical section.)
 4. Mark the shared buffer(s) as dirty with MarkBufferDirty().  (This must
 happen before the WAL record is inserted; see notes in SyncOneBuffer().)
 Note that marking a buffer dirty with MarkBufferDirty() should only
-happen iff you write a WAL record; see Writing Hints below.
+happen if you write a WAL record; see Writing Hints below.
 
 5. If the relation requires WAL-logging, build a WAL log record and pass it
 to XLogInsert(); then update the page's LSN using the returned XLOG
@@ -590,7 +590,7 @@ Writing Hints
 -------------
 
 In some cases, we write additional information to data blocks without
-writing a preceding WAL record. This should only happen iff the data can
+writing a preceding WAL record. This should only happen if the data can
 be reconstructed later following a crash and the action is simply a way
 of optimising for performance. When a hint is written we use
 MarkBufferDirtyHint() to mark the block dirty.
diff --git a/src/backend/access/transam/transam.c b/src/backend/access/transam/transam.c
index 8965319..4a17402 100644
--- a/src/backend/access/transam/transam.c
+++ b/src/backend/access/transam/transam.c
@@ -116,7 +116,7 @@ TransactionLogFetch(TransactionId transactionId)
 
 /*
  * TransactionIdDidCommit
- *		True iff transaction associated with the identifier did commit.
+ *		True if transaction associated with the identifier did commit.
  *
  * Note:
  *		Assumes transaction identifier is valid.
@@ -172,7 +172,7 @@ TransactionIdDidCommit(TransactionId transactionId)
 
 /*
  * TransactionIdDidAbort
- *		True iff transaction associated with the identifier did abort.
+ *		True if transaction associated with the identifier did abort.
  *
  * Note:
  *		Assumes transaction identifier is valid.
@@ -221,7 +221,7 @@ TransactionIdDidAbort(TransactionId transactionId)
 
 /*
  * TransactionIdIsKnownCompleted
- *		True iff transaction associated with the identifier is currently
+ *		True if transaction associated with the identifier is currently
  *		known to have either committed or aborted.
  *
  * This does NOT look into pg_clog but merely probes our local cache
diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c
index 66dbf58..7e09a72 100644
--- a/src/backend/access/transam/twophase.c
+++ b/src/backend/access/transam/twophase.c
@@ -509,7 +509,7 @@ RemoveGXact(GlobalTransaction gxact)
 
 /*
  * TransactionIdIsPrepared
- *		True iff transaction associated with the identifier is prepared
+ *		True if transaction associated with the identifier is prepared
  *		for two-phase commit
  *
  * Note: only gxacts marked "valid" are considered; but notice we do not
diff --git a/src/backend/catalog/catalog.c b/src/backend/catalog/catalog.c
index 282e0b9..f98b471 100644
--- a/src/backend/catalog/catalog.c
+++ b/src/backend/catalog/catalog.c
@@ -97,7 +97,7 @@ GetDatabasePath(Oid dbNode, Oid spcNode)
 
 /*
  * IsSystemRelation
- *		True iff the relation is either a system catalog or toast table.
+ *		True if the relation is either a system catalog or toast table.
  *		By a system catalog, we mean one that created in the pg_catalog schema
  * 		during initdb.  User-created relations in pg_catalog don't count as
  *		system catalogs.
@@ -127,7 +127,7 @@ IsSystemClass(Oid relid, Form_pg_class reltuple)
 
 /*
  * IsCatalogRelation
- *		True iff the relation is a system catalog, or the toast table for
+ *		True if the relation is a system catalog, or the toast table for
  *		a system catalog.  By a system catalog, we mean one that created
  *		in the pg_catalog schema during initdb.  As with IsSystemRelation(),
  *		user-created relations in pg_catalog don't count as system catalogs.
@@ -144,7 +144,7 @@ IsCatalogRelation(Relation relation)
 
 /*
  * IsCatalogClass
- *		True iff the relation is a system catalog relation.
+ *		True if the relation is a system catalog relation.
  *
  * Check IsCatalogRelation() for details.
  */
@@ -178,7 +178,7 @@ IsCatalogClass(Oid relid, Form_pg_class reltuple)
 
 /*
  * IsToastRelation
- *		True iff relation is a TOAST support relation (or index).
+ *		True if relation is a TOAST support relation (or index).
  */
 bool
 IsToastRelation(Relation relation)
@@ -202,7 +202,7 @@ IsToastClass(Form_pg_class reltuple)
 
 /*
  * IsSystemNamespace
- *		True iff namespace is pg_catalog.
+ *		True if namespace is pg_catalog.
  *
  * NOTE: the reason this isn't a macro is to avoid having to include
  * catalog/pg_namespace.h in a lot of places.
@@ -215,7 +215,7 @@ IsSystemNamespace(Oid namespaceId)
 
 /*
  * IsToastNamespace
- *		True iff namespace is pg_toast or my temporary-toast-table namespace.
+ *		True if namespace is pg_toast or my temporary-toast-table namespace.
  *
  * Note: this will return false for temporary-toast-table namespaces belonging
  * to other backends.  Those are treated the same as other backends' regular
@@ -231,7 +231,7 @@ IsToastNamespace(Oid namespaceId)
 
 /*
  * IsReservedName
- *		True iff name starts with the pg_ prefix.
+ *		True if name starts with the pg_ prefix.
  *
  *		For some classes of objects, the prefix pg_ is reserved for
  *		system objects only.  As of 8.0, this is only true for
diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c
index a04adea..abea36c 100644
--- a/src/backend/commands/analyze.c
+++ b/src/backend/commands/analyze.c
@@ -356,7 +356,7 @@ do_analyze_rel(Relation onerel, VacuumStmt *vacstmt,
 						   save_sec_context | SECURITY_RESTRICTED_OPERATION);
 	save_nestlevel = NewGUCNestLevel();
 
-	/* measure elapsed time iff autovacuum logging requires it */
+	/* measure elapsed time if autovacuum logging requires it */
 	if (IsAutoVacuumWorkerProcess() && Log_autovacuum_min_duration >= 0)
 	{
 		pg_rusage_init(&ru0);
diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 4ac1e0b..29b9e6a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -803,7 +803,7 @@ copy_heap_data(Oid OIDNewHeap, Oid OIDOldHeap, Oid OIDOldIndex, bool verbose,
 		LockRelationOid(OldHeap->rd_rel->reltoastrelid, AccessExclusiveLock);
 
 	/*
-	 * We need to log the copied data in WAL iff WAL archiving/streaming is
+	 * We need to log the copied data in WAL if WAL archiving/streaming is
 	 * enabled AND it's a WAL-logged rel.
 	 */
 	use_wal = XLogIsNeeded() && RelationNeedsWAL(NewHeap);
diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c
index 38ce023..18a8a3c 100644
--- a/src/backend/commands/indexcmds.c
+++ b/src/backend/commands/indexcmds.c
@@ -1058,7 +1058,7 @@ ComputeIndexAttrs(IndexInfo *indexInfo,
 			attcollation = get_collation_oid(attribute->collation, false);
 
 		/*
-		 * Check we have a collation iff it's a collatable type.  The only
+		 * Check we have a collation if it's a collatable type.  The only
 		 * expected failures here are (1) COLLATE applied to a noncollatable
 		 * type, or (2) index expression had an unresolved collation.  But we
 		 * might as well code this to be a complete consistency check.
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index f5ae98f..12af906 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -9213,7 +9213,7 @@ copy_relation_data(SMgrRelation src, SMgrRelation dst,
 	page = (Page) buf;
 
 	/*
-	 * We need to log the copied data in WAL iff WAL archiving/streaming is
+	 * We need to log the copied data in WAL if WAL archiving/streaming is
 	 * enabled AND it's a permanent relation.
 	 */
 	use_wal = XLogIsNeeded() && relpersistence == RELPERSISTENCE_PERMANENT;
@@ -10135,7 +10135,7 @@ ATExecDropOf(Relation rel, LOCKMODE lockmode)
 /*
  * relation_mark_replica_identity: Update a table's replica identity
  *
- * Iff ri_type = REPLICA_IDENTITY_INDEX, indexOid must be the Oid of a suitable
+ * If ri_type = REPLICA_IDENTITY_INDEX, indexOid must be the Oid of a suitable
  * index. Otherwise, it should be InvalidOid.
  */
 static void
diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c
index d5db917..1401bc0 100644
--- a/src/backend/commands/vacuumlazy.c
+++ b/src/backend/commands/vacuumlazy.c
@@ -191,7 +191,7 @@ lazy_vacuum_rel(Relation onerel, VacuumStmt *vacstmt,
 	TransactionId new_frozen_xid;
 	MultiXactId new_min_multi;
 
-	/* measure elapsed time iff autovacuum logging requires it */
+	/* measure elapsed time if autovacuum logging requires it */
 	if (IsAutoVacuumWorkerProcess() && Log_autovacuum_min_duration >= 0)
 	{
 		pg_rusage_init(&ru0);
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index 886c751..e37b3c4 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -1251,7 +1251,7 @@ ExecGetTriggerResultRel(EState *estate, Oid relid)
  *		ExecContextForcesOids
  *
  * This is pretty grotty: when doing INSERT, UPDATE, or CREATE TABLE AS,
- * we need to ensure that result tuples have space for an OID iff they are
+ * we need to ensure that result tuples have space for an OID if they are
  * going to be stored into a relation that has OIDs.  In other contexts
  * we are free to choose whether to leave space for OIDs in result tuples
  * (we generally don't want to, but we do if a physical-tlist optimization
diff --git a/src/backend/executor/execQual.c b/src/backend/executor/execQual.c
index 0eba025..b2a994c 100644
--- a/src/backend/executor/execQual.c
+++ b/src/backend/executor/execQual.c
@@ -5103,7 +5103,7 @@ ExecPrepareExpr(Expr *node, EState *estate)
  *		ExecQual
  *
  *		Evaluates a conjunctive boolean expression (qual list) and
- *		returns true iff none of the subexpressions are false.
+ *		returns true if none of the subexpressions are false.
  *		(We also return true if the list is empty.)
  *
  *	If some of the subexpressions yield NULL but none yield FALSE,
diff --git a/src/backend/executor/nodeAppend.c b/src/backend/executor/nodeAppend.c
index 6185c1d..4db263d 100644
--- a/src/backend/executor/nodeAppend.c
+++ b/src/backend/executor/nodeAppend.c
@@ -68,7 +68,7 @@ static bool exec_append_initialize_next(AppendState *appendstate);
  *
  *		Sets up the append state node for the "next" scan.
  *
- *		Returns t iff there is a "next" scan to process.
+ *		Returns t if there is a "next" scan to process.
  * ----------------------------------------------------------------
  */
 static bool
diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c
index d062c1d..da00bbb 100644
--- a/src/backend/libpq/auth.c
+++ b/src/backend/libpq/auth.c
@@ -1392,7 +1392,7 @@ interpret_ident_response(const char *ident_response,
  *
  *	IP addresses and port numbers are in network byte order.
  *
- *	But iff we're unable to get the information from ident, return false.
+ *	But if we're unable to get the information from ident, return false.
  */
 static int
 ident_inet(hbaPort *port)
diff --git a/src/backend/nodes/list.c b/src/backend/nodes/list.c
index aebc5b6..fda4754 100644
--- a/src/backend/nodes/list.c
+++ b/src/backend/nodes/list.c
@@ -439,7 +439,7 @@ list_nth_oid(const List *list, int n)
 }
 
 /*
- * Return true iff 'datum' is a member of the list. Equality is
+ * Return true if 'datum' is a member of the list. Equality is
  * determined via equal(), so callers should ensure that they pass a
  * Node as 'datum'.
  */
@@ -461,7 +461,7 @@ list_member(const List *list, const void *datum)
 }
 
 /*
- * Return true iff 'datum' is a member of the list. Equality is
+ * Return true if 'datum' is a member of the list. Equality is
  * determined by using simple pointer comparison.
  */
 bool
@@ -482,7 +482,7 @@ list_member_ptr(const List *list, const void *datum)
 }
 
 /*
- * Return true iff the integer 'datum' is a member of the list.
+ * Return true if the integer 'datum' is a member of the list.
  */
 bool
 list_member_int(const List *list, int datum)
@@ -502,7 +502,7 @@ list_member_int(const List *list, int datum)
 }
 
 /*
- * Return true iff the OID 'datum' is a member of the list.
+ * Return true if the OID 'datum' is a member of the list.
  */
 bool
 list_member_oid(const List *list, Oid datum)
@@ -523,7 +523,7 @@ list_member_oid(const List *list, Oid datum)
 
 /*
  * Delete 'cell' from 'list'; 'prev' is the previous element to 'cell'
- * in 'list', if any (i.e. prev == NULL iff list->head == cell)
+ * in 'list', if any (i.e. prev == NULL if list->head == cell)
  *
  * The cell is pfree'd, as is the List header if this was the last member.
  */
diff --git a/src/backend/nodes/nodeFuncs.c b/src/backend/nodes/nodeFuncs.c
index 1e48a7f..6543c48 100644
--- a/src/backend/nodes/nodeFuncs.c
+++ b/src/backend/nodes/nodeFuncs.c
@@ -1545,7 +1545,7 @@ leftmostLoc(int loc1, int loc2)
  * "true" to abort the walk and immediately return "true" to the top-level
  * caller.	This can be used to short-circuit the traversal if the walker
  * has found what it came for.	"false" is returned to the top-level caller
- * iff no invocation of the walker returned "true".
+ * if no invocation of the walker returned "true".
  *
  * The node types handled by expression_tree_walker include all those
  * normally found in target lists and qualifier clauses during the planning
diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c
index a912174..c5e65f0 100644
--- a/src/backend/optimizer/path/indxpath.c
+++ b/src/backend/optimizer/path/indxpath.c
@@ -1085,7 +1085,7 @@ build_paths_for_OR(PlannerInfo *root, RelOptInfo *rel,
 		 * test whether the added clauses are sufficient to imply the
 		 * predicate. If so, we can use the index in the current context.
 		 *
-		 * We set useful_predicate to true iff the predicate was proven using
+		 * We set useful_predicate to true if the predicate was proven using
 		 * the current set of clauses.	This is needed to prevent matching a
 		 * predOK index to an arm of an OR, which would be a legal but
 		 * pointlessly inefficient plan.  (A better plan will be generated by
diff --git a/src/backend/optimizer/path/pathkeys.c b/src/backend/optimizer/path/pathkeys.c
index 9179c61..5d2c3ee 100644
--- a/src/backend/optimizer/path/pathkeys.c
+++ b/src/backend/optimizer/path/pathkeys.c
@@ -1432,7 +1432,7 @@ right_merge_direction(PlannerInfo *root, PathKey *pathkey)
 		{
 			/*
 			 * Found a matching query sort column.	Prefer this pathkey's
-			 * direction iff it matches.  Note that we ignore pk_nulls_first,
+			 * direction if it matches.  Note that we ignore pk_nulls_first,
 			 * which means that a sort might be needed anyway ... but we still
 			 * want to prefer only one of the two possible directions, and we
 			 * might as well use this one.
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index 3f307e6..f07e8f8 100644
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -218,7 +218,7 @@ get_rightop(const Expr *clause)
 /*
  * not_clause
  *
- * Returns t iff this is a 'not' clause: (NOT expr).
+ * Returns t if this is a 'not' clause: (NOT expr).
  */
 bool
 not_clause(Node *clause)
@@ -262,7 +262,7 @@ get_notclausearg(Expr *notclause)
 /*
  * or_clause
  *
- * Returns t iff the clause is an 'or' clause: (OR { expr }).
+ * Returns t if the clause is an 'or' clause: (OR { expr }).
  */
 bool
 or_clause(Node *clause)
@@ -296,7 +296,7 @@ make_orclause(List *orclauses)
 /*
  * and_clause
  *
- * Returns t iff its argument is an 'and' clause: (AND { expr }).
+ * Returns t if its argument is an 'and' clause: (AND { expr }).
  */
 bool
 and_clause(Node *clause)
diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c
index 8ae8f55..3707725 100644
--- a/src/backend/optimizer/util/relnode.c
+++ b/src/backend/optimizer/util/relnode.c
@@ -99,7 +99,7 @@ build_simple_rel(PlannerInfo *root, int relid, RelOptKind reloptkind)
 	rel->relids = bms_make_singleton(relid);
 	rel->rows = 0;
 	rel->width = 0;
-	/* cheap startup cost is interesting iff not all tuples to be retrieved */
+	/* cheap startup cost is interesting if not all tuples to be retrieved */
 	rel->consider_startup = (root->tuple_fraction > 0);
 	rel->reltargetlist = NIL;
 	rel->pathlist = NIL;
@@ -358,7 +358,7 @@ build_join_rel(PlannerInfo *root,
 	joinrel->relids = bms_copy(joinrelids);
 	joinrel->rows = 0;
 	joinrel->width = 0;
-	/* cheap startup cost is interesting iff not all tuples to be retrieved */
+	/* cheap startup cost is interesting if not all tuples to be retrieved */
 	joinrel->consider_startup = (root->tuple_fraction > 0);
 	joinrel->reltargetlist = NIL;
 	joinrel->pathlist = NIL;
diff --git a/src/backend/optimizer/util/restrictinfo.c b/src/backend/optimizer/util/restrictinfo.c
index 62de590..8c9835e 100644
--- a/src/backend/optimizer/util/restrictinfo.c
+++ b/src/backend/optimizer/util/restrictinfo.c
@@ -318,7 +318,7 @@ make_sub_restrictinfos(Expr *clause,
 /*
  * restriction_is_or_clause
  *
- * Returns t iff the restrictinfo node contains an 'or' clause.
+ * Returns t if the restrictinfo node contains an 'or' clause.
  */
 bool
 restriction_is_or_clause(RestrictInfo *restrictinfo)
diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c
index aa704bb..e2bd64e 100644
--- a/src/backend/parser/parse_clause.c
+++ b/src/backend/parser/parse_clause.c
@@ -240,7 +240,7 @@ interpretInhOption(InhOption inhOpt)
 }
 
 /*
- * Given a relation-options list (of DefElems), return true iff the specified
+ * Given a relation-options list (of DefElems), return true if the specified
  * table/result set should be created with OIDs. This needs to be done after
  * parsing the query string because the return value can depend upon the
  * default_with_oids GUC var.
diff --git a/src/backend/parser/parse_coerce.c b/src/backend/parser/parse_coerce.c
index 854d723..8b863ae 100644
--- a/src/backend/parser/parse_coerce.c
+++ b/src/backend/parser/parse_coerce.c
@@ -1406,7 +1406,7 @@ check_generic_type_consistency(Oid *actual_arg_types,
 	{
 		if (array_typeid == ANYARRAYOID)
 		{
-			/* Special case for ANYARRAY input: okay iff no ANYELEMENT */
+			/* Special case for ANYARRAY input: okay if no ANYELEMENT */
 			if (have_anyelement)
 				return false;
 			return true;
@@ -1648,7 +1648,7 @@ enforce_generic_type_consistency(Oid *actual_arg_types,
 	{
 		if (array_typeid == ANYARRAYOID && !have_anyelement)
 		{
-			/* Special case for ANYARRAY input: okay iff no ANYELEMENT */
+			/* Special case for ANYARRAY input: okay if no ANYELEMENT */
 			array_typelem = ANYELEMENTOID;
 		}
 		else
@@ -1685,7 +1685,7 @@ enforce_generic_type_consistency(Oid *actual_arg_types,
 	{
 		if (range_typeid == ANYRANGEOID && !have_anyelement)
 		{
-			/* Special case for ANYRANGE input: okay iff no ANYELEMENT */
+			/* Special case for ANYRANGE input: okay if no ANYELEMENT */
 			range_typelem = ANYELEMENTOID;
 		}
 		else
diff --git a/src/backend/parser/parse_relation.c b/src/backend/parser/parse_relation.c
index 8760952..4a8b994 100644
--- a/src/backend/parser/parse_relation.c
+++ b/src/backend/parser/parse_relation.c
@@ -2894,7 +2894,7 @@ errorMissingColumn(ParseState *pstate,
 
 
 /*
- * Examine a fully-parsed query, and return TRUE iff any relation underlying
+ * Examine a fully-parsed query, and return TRUE if any relation underlying
  * the query is a temporary relation (table, view, or materialized view).
  */
 bool
diff --git a/src/backend/storage/lmgr/lmgr.c b/src/backend/storage/lmgr/lmgr.c
index d692aad..fbf3597 100644
--- a/src/backend/storage/lmgr/lmgr.c
+++ b/src/backend/storage/lmgr/lmgr.c
@@ -111,7 +111,7 @@ LockRelationOid(Oid relid, LOCKMODE lockmode)
  *		ConditionalLockRelationOid
  *
  * As above, but only lock if we can get the lock without blocking.
- * Returns TRUE iff the lock was acquired.
+ * Returns TRUE if the lock was acquired.
  *
  * NOTE: we do not currently need conditional versions of all the
  * LockXXX routines in this file, but they could easily be added if needed.
@@ -360,7 +360,7 @@ LockPage(Relation relation, BlockNumber blkno, LOCKMODE lockmode)
  *		ConditionalLockPage
  *
  * As above, but only lock if we can get the lock without blocking.
- * Returns TRUE iff the lock was acquired.
+ * Returns TRUE if the lock was acquired.
  */
 bool
 ConditionalLockPage(Relation relation, BlockNumber blkno, LOCKMODE lockmode)
@@ -416,7 +416,7 @@ LockTuple(Relation relation, ItemPointer tid, LOCKMODE lockmode)
  *		ConditionalLockTuple
  *
  * As above, but only lock if we can get the lock without blocking.
- * Returns TRUE iff the lock was acquired.
+ * Returns TRUE if the lock was acquired.
  */
 bool
 ConditionalLockTuple(Relation relation, ItemPointer tid, LOCKMODE lockmode)
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index be96101..24bb6cf 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -894,7 +894,7 @@ exec_simple_query(const char *query_string)
 	MemoryContextSwitchTo(oldcontext);
 
 	/*
-	 * We'll tell PortalRun it's a top-level command iff there's exactly one
+	 * We'll tell PortalRun it's a top-level command if there's exactly one
 	 * raw parsetree.  If more than one, it's effectively a transaction block
 	 * and we want PreventTransactionChain to reject unsafe commands. (Note:
 	 * we're assuming that query rewrite cannot add commands that are
diff --git a/src/backend/tcop/pquery.c b/src/backend/tcop/pquery.c
index f85bd03..1f74e02 100644
--- a/src/backend/tcop/pquery.c
+++ b/src/backend/tcop/pquery.c
@@ -807,7 +807,7 @@ PortalRun(Portal portal, long count, bool isTopLevel,
 				portal->status = PORTAL_READY;
 
 				/*
-				 * Since it's a forward fetch, say DONE iff atEnd is now true.
+				 * Since it's a forward fetch, say DONE if atEnd is now true.
 				 */
 				result = portal->atEnd;
 				break;
diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c
index dfac124..95abe2b 100644
--- a/src/backend/utils/adt/acl.c
+++ b/src/backend/utils/adt/acl.c
@@ -650,7 +650,7 @@ aclitemout(PG_FUNCTION_ARGS)
 
 /*
  * aclitem_match
- *		Two AclItems are considered to match iff they have the same
+ *		Two AclItems are considered to match if they have the same
  *		grantee and grantor; the privileges are ignored.
  */
 static bool
diff --git a/src/backend/utils/adt/array_selfuncs.c b/src/backend/utils/adt/array_selfuncs.c
index 20eb358..8b2608a 100644
--- a/src/backend/utils/adt/array_selfuncs.c
+++ b/src/backend/utils/adt/array_selfuncs.c
@@ -1022,7 +1022,7 @@ calc_hist(const float4 *hist, int nhist, int n)
  *
  * Imagine matrix M of size (n + 1) x (m + 1).	Element M[i,j] denotes the
  * probability that exactly j of first i events occur.	Obviously M[0,0] = 1.
- * For any constant j, each increment of i increases the probability iff the
+ * For any constant j, each increment of i increases the probability if the
  * event occurs.  So, by the law of total probability:
  *	M[i,j] = M[i - 1, j] * (1 - p[i]) + M[i - 1, j - 1] * p[i]
  *		for i > 0, j > 0.
diff --git a/src/backend/utils/adt/array_userfuncs.c b/src/backend/utils/adt/array_userfuncs.c
index c62e3fb..fc5ce4a 100644
--- a/src/backend/utils/adt/array_userfuncs.c
+++ b/src/backend/utils/adt/array_userfuncs.c
@@ -522,7 +522,7 @@ array_agg_finalfn(PG_FUNCTION_ARGS)
 	 * possible for users to create NULL constants of type internal.
 	 */
 	if (PG_ARGISNULL(0))
-		PG_RETURN_NULL();		/* returns null iff no input values */
+		PG_RETURN_NULL();		/* returns null if no input values */
 
 	/* cannot be called directly because of internal-type argument */
 	Assert(AggCheckCallContext(fcinfo, NULL));
diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c
index 91df184..3da6526 100644
--- a/src/backend/utils/adt/arrayfuncs.c
+++ b/src/backend/utils/adt/arrayfuncs.c
@@ -651,7 +651,7 @@ ArrayCount(const char *str, int *dim, char typdelim)
  * Outputs:
  *	values[]: filled with converted data values.
  *	nulls[]: filled with is-null markers.
- *	*hasnulls: set TRUE iff there are any null elements.
+ *	*hasnulls: set TRUE if there are any null elements.
  *	*nbytes: set to total size of data area needed (including alignment
  *		padding but not including array header overhead).
  *
@@ -1377,7 +1377,7 @@ array_recv(PG_FUNCTION_ARGS)
  * Outputs:
  *	values[]: filled with converted data values.
  *	nulls[]: filled with is-null markers.
- *	*hasnulls: set TRUE iff there are any null elements.
+ *	*hasnulls: set TRUE if there are any null elements.
  *	*nbytes: set to total size of data area needed (including alignment
  *		padding but not including array header overhead).
  *
diff --git a/src/backend/utils/adt/int.c b/src/backend/utils/adt/int.c
index 669355e..7f888e0 100644
--- a/src/backend/utils/adt/int.c
+++ b/src/backend/utils/adt/int.c
@@ -378,12 +378,12 @@ bool_int4(PG_FUNCTION_ARGS)
  */
 
 /*
- *		inteq			- returns 1 iff arg1 == arg2
- *		intne			- returns 1 iff arg1 != arg2
- *		intlt			- returns 1 iff arg1 < arg2
- *		intle			- returns 1 iff arg1 <= arg2
- *		intgt			- returns 1 iff arg1 > arg2
- *		intge			- returns 1 iff arg1 >= arg2
+ *		inteq			- returns 1 if arg1 == arg2
+ *		intne			- returns 1 if arg1 != arg2
+ *		intlt			- returns 1 if arg1 < arg2
+ *		intle			- returns 1 if arg1 <= arg2
+ *		intgt			- returns 1 if arg1 > arg2
+ *		intge			- returns 1 if arg1 >= arg2
  */
 
 Datum
diff --git a/src/backend/utils/adt/jsonb_util.c b/src/backend/utils/adt/jsonb_util.c
index 1ac145b..fc650b6 100644
--- a/src/backend/utils/adt/jsonb_util.c
+++ b/src/backend/utils/adt/jsonb_util.c
@@ -1736,7 +1736,7 @@ appendElement(JsonbParseState * pstate, JsonbValue * scalarVal)
  * required, only then do we consider string binary equality.
  *
  * Third argument 'binequal' may point to a bool. If it's set, *binequal is set
- * to true iff a and b have full binary equality, since some callers have an
+ * to true if a and b have full binary equality, since some callers have an
  * interest in whether the two values are equal or merely equivalent.
  */
 static int
diff --git a/src/backend/utils/adt/like_match.c b/src/backend/utils/adt/like_match.c
index 1e5e00a..a8b9267 100644
--- a/src/backend/utils/adt/like_match.c
+++ b/src/backend/utils/adt/like_match.c
@@ -220,7 +220,7 @@ MatchText(char *t, int tlen, char *p, int plen,
 		return LIKE_FALSE;		/* end of pattern, but not of text */
 
 	/*
-	 * End of text, but perhaps not of pattern.  Match iff the remaining
+	 * End of text, but perhaps not of pattern.  Match if the remaining
 	 * pattern can match a zero-length string, ie, it's zero or more %'s.
 	 */
 	while (plen > 0 && *p == '%')
diff --git a/src/backend/utils/adt/mac.c b/src/backend/utils/adt/mac.c
index aa9993f..65182ee 100644
--- a/src/backend/utils/adt/mac.c
+++ b/src/backend/utils/adt/mac.c
@@ -40,7 +40,7 @@ macaddr_in(PG_FUNCTION_ARGS)
 	char		junk[2];
 	int			count;
 
-	/* %1s matches iff there is trailing non-whitespace garbage */
+	/* %1s matches if there is trailing non-whitespace garbage */
 
 	count = sscanf(str, "%x:%x:%x:%x:%x:%x%1s",
 				   &a, &b, &c, &d, &e, &f, junk);
diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c
index 74d24aa..6d97ca3 100644
--- a/src/backend/utils/adt/nabstime.c
+++ b/src/backend/utils/adt/nabstime.c
@@ -959,7 +959,7 @@ timemi(PG_FUNCTION_ARGS)
 
 
 /*
- *		intinterval		- returns true iff absolute date is in the tinterval
+ *		intinterval		- returns true if absolute date is in the tinterval
  */
 Datum
 intinterval(PG_FUNCTION_ARGS)
@@ -1107,7 +1107,7 @@ btreltimecmp(PG_FUNCTION_ARGS)
 
 
 /*
- *		tintervalsame	- returns true iff tinterval i1 is same as tinterval i2
+ *		tintervalsame	- returns true if tinterval i1 is same as tinterval i2
  *		Check begin and end time.
  */
 Datum
@@ -1256,17 +1256,17 @@ bttintervalcmp(PG_FUNCTION_ARGS)
 
 
 /*
- *		tintervalleneq	- returns true iff length of tinterval i is equal to
+ *		tintervalleneq	- returns true if length of tinterval i is equal to
  *								reltime t
- *		tintervallenne	- returns true iff length of tinterval i is not equal
+ *		tintervallenne	- returns true if length of tinterval i is not equal
  *								to reltime t
- *		tintervallenlt	- returns true iff length of tinterval i is less than
+ *		tintervallenlt	- returns true if length of tinterval i is less than
  *								reltime t
- *		tintervallengt	- returns true iff length of tinterval i is greater
+ *		tintervallengt	- returns true if length of tinterval i is greater
  *								than reltime t
- *		tintervallenle	- returns true iff length of tinterval i is less or
+ *		tintervallenle	- returns true if length of tinterval i is less or
  *								equal than reltime t
- *		tintervallenge	- returns true iff length of tinterval i is greater or
+ *		tintervallenge	- returns true if length of tinterval i is greater or
  *								equal than reltime t
  */
 Datum
@@ -1354,7 +1354,7 @@ tintervallenge(PG_FUNCTION_ARGS)
 }
 
 /*
- *		tintervalct		- returns true iff tinterval i1 contains tinterval i2
+ *		tintervalct		- returns true if tinterval i1 contains tinterval i2
  */
 Datum
 tintervalct(PG_FUNCTION_ARGS)
@@ -1375,7 +1375,7 @@ tintervalct(PG_FUNCTION_ARGS)
 }
 
 /*
- *		tintervalov		- returns true iff tinterval i1 (partially) overlaps i2
+ *		tintervalov		- returns true if tinterval i1 (partially) overlaps i2
  */
 Datum
 tintervalov(PG_FUNCTION_ARGS)
diff --git a/src/backend/utils/adt/name.c b/src/backend/utils/adt/name.c
index a851502..4cbf835 100644
--- a/src/backend/utils/adt/name.c
+++ b/src/backend/utils/adt/name.c
@@ -117,17 +117,17 @@ namesend(PG_FUNCTION_ARGS)
  *****************************************************************************/
 
 /*
- *		nameeq	- returns 1 iff arguments are equal
- *		namene	- returns 1 iff arguments are not equal
+ *		nameeq	- returns 1 if arguments are equal
+ *		namene	- returns 1 if arguments are not equal
  *
  *		BUGS:
  *				Assumes that "xy\0\0a" should be equal to "xy\0b".
  *				If not, can do the comparison backwards for efficiency.
  *
- *		namelt	- returns 1 iff a < b
- *		namele	- returns 1 iff a <= b
- *		namegt	- returns 1 iff a > b
- *		namege	- returns 1 iff a >= b
+ *		namelt	- returns 1 if a < b
+ *		namele	- returns 1 if a <= b
+ *		namegt	- returns 1 if a > b
+ *		namege	- returns 1 if a >= b
  *
  */
 Datum
diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c
index 0c8474d..61239d8 100644
--- a/src/backend/utils/adt/pg_locale.c
+++ b/src/backend/utils/adt/pg_locale.c
@@ -1159,7 +1159,7 @@ pg_newlocale_from_collation(Oid collid)
  *
  * This has the same API as the standard wcstombs_l() function; in particular,
  * tolen is the maximum number of bytes to store at *to, and *from must be
- * zero-terminated.  The output will be zero-terminated iff there is room.
+ * zero-terminated.  The output will be zero-terminated if there is room.
  */
 size_t
 wchar2char(char *to, const wchar_t *from, size_t tolen, pg_locale_t locale)
@@ -1227,7 +1227,7 @@ wchar2char(char *to, const wchar_t *from, size_t tolen, pg_locale_t locale)
  * null-terminated; instead, the number of input bytes is specified as
  * fromlen.  Also, we ereport() rather than returning -1 for invalid
  * input encoding.	tolen is the maximum number of wchar_t's to store at *to.
- * The output will be zero-terminated iff there is room.
+ * The output will be zero-terminated if there is room.
  */
 size_t
 char2wchar(wchar_t *to, size_t tolen, const char *from, size_t fromlen,
diff --git a/src/backend/utils/adt/tsvector_op.c b/src/backend/utils/adt/tsvector_op.c
index 8b71de2..880025f 100644
--- a/src/backend/utils/adt/tsvector_op.c
+++ b/src/backend/utils/adt/tsvector_op.c
@@ -550,7 +550,7 @@ tsvector_concat(PG_FUNCTION_ARGS)
 /*
  * Compare two strings by tsvector rules.
  *
- * if isPrefix = true then it returns zero value iff b has prefix a
+ * if isPrefix = true then it returns zero value if b has prefix a
  */
 int32
 tsCompareString(char *a, int lena, char *b, int lenb, bool prefix)
diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c
index d17b6b0..ba8e640 100644
--- a/src/backend/utils/cache/catcache.c
+++ b/src/backend/utils/cache/catcache.c
@@ -1508,7 +1508,7 @@ SearchCatCacheList(CatCache *cache,
 									  nkeys,
 									  cur_skey);
 
-		/* The list will be ordered iff we are doing an index scan */
+		/* The list will be ordered if we are doing an index scan */
 		ordered = (scandesc->irel != NULL);
 
 		while (HeapTupleIsValid(ntp = systable_getnext(scandesc)))
diff --git a/src/backend/utils/cache/lsyscache.c b/src/backend/utils/cache/lsyscache.c
index a4ce716..9e6dadb 100644
--- a/src/backend/utils/cache/lsyscache.c
+++ b/src/backend/utils/cache/lsyscache.c
@@ -51,7 +51,7 @@ get_attavgwidth_hook_type get_attavgwidth_hook = NULL;
 /*
  * op_in_opfamily
  *
- *		Return t iff operator 'opno' is in operator family 'opfamily'.
+ *		Return t if operator 'opno' is in operator family 'opfamily'.
  *
  * This function only considers search operators, not ordering operators.
  */
diff --git a/src/backend/utils/mb/mbutils.c b/src/backend/utils/mb/mbutils.c
index ad255ee..d2d85dd 100644
--- a/src/backend/utils/mb/mbutils.c
+++ b/src/backend/utils/mb/mbutils.c
@@ -1050,7 +1050,7 @@ GetMessageEncoding(void)
 #ifdef WIN32
 /*
  * Result is palloc'ed null-terminated utf16 string. The character length
- * is also passed to utf16len if not null. Returns NULL iff failed.
+ * is also passed to utf16len if not null. Returns NULL if failed.
  */
 WCHAR *
 pgwin32_message_to_UTF16(const char *str, int len, int *utf16len)
diff --git a/src/backend/utils/mmgr/aset.c b/src/backend/utils/mmgr/aset.c
index 099200c..1f14059 100644
--- a/src/backend/utils/mmgr/aset.c
+++ b/src/backend/utils/mmgr/aset.c
@@ -227,13 +227,13 @@ typedef struct AllocChunkData
 
 /*
  * AllocPointerIsValid
- *		True iff pointer is valid allocation pointer.
+ *		True if pointer is valid allocation pointer.
  */
 #define AllocPointerIsValid(pointer) PointerIsValid(pointer)
 
 /*
  * AllocSetIsValid
- *		True iff set is valid allocation set.
+ *		True if set is valid allocation set.
  */
 #define AllocSetIsValid(set) PointerIsValid(set)
 
diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c
index 89f5ff8..a6d6fe9 100644
--- a/src/backend/utils/time/tqual.c
+++ b/src/backend/utils/time/tqual.c
@@ -139,7 +139,7 @@ HeapTupleSetHintBits(HeapTupleHeader tuple, Buffer buffer,
 
 /*
  * HeapTupleSatisfiesSelf
- *		True iff heap tuple is valid "for itself".
+ *		True if heap tuple is valid "for itself".
  *
  *	Here, we consider the effects of:
  *		all committed transactions (as of the current instant)
@@ -338,7 +338,7 @@ HeapTupleSatisfiesAny(HeapTuple htup, Snapshot snapshot, Buffer buffer)
 
 /*
  * HeapTupleSatisfiesToast
- *		True iff heap tuple is valid as a TOAST row.
+ *		True if heap tuple is valid as a TOAST row.
  *
  * This is a simplified version that only checks for VACUUM moving conditions.
  * It's appropriate for TOAST usage because TOAST really doesn't want to do
@@ -689,7 +689,7 @@ HeapTupleSatisfiesUpdate(HeapTuple htup, CommandId curcid,
 
 /*
  * HeapTupleSatisfiesDirty
- *		True iff heap tuple is valid including effects of open transactions.
+ *		True if heap tuple is valid including effects of open transactions.
  *
  *	Here, we consider the effects of:
  *		all committed and in-progress transactions (as of the current instant)
@@ -888,7 +888,7 @@ HeapTupleSatisfiesDirty(HeapTuple htup, Snapshot snapshot,
 
 /*
  * HeapTupleSatisfiesMVCC
- *		True iff heap tuple is valid for the given MVCC snapshot.
+ *		True if heap tuple is valid for the given MVCC snapshot.
  *
  *	Here, we consider the effects of:
  *		all transactions committed as of the time of the given snapshot
diff --git a/src/bin/pg_dump/parallel.c b/src/bin/pg_dump/parallel.c
index 7d6e146..ecb413e 100644
--- a/src/bin/pg_dump/parallel.c
+++ b/src/bin/pg_dump/parallel.c
@@ -756,7 +756,7 @@ GetIdleWorker(ParallelState *pstate)
 }
 
 /*
- * Return true iff every worker process is in the WRKR_TERMINATED state.
+ * Return true if every worker process is in the WRKR_TERMINATED state.
  */
 static bool
 HasEveryWorkerTerminated(ParallelState *pstate)
@@ -770,7 +770,7 @@ HasEveryWorkerTerminated(ParallelState *pstate)
 }
 
 /*
- * Return true iff every worker is in the WRKR_IDLE state.
+ * Return true if every worker is in the WRKR_IDLE state.
  */
 bool
 IsEveryWorkerIdle(ParallelState *pstate)
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index a6c0428..224b50a 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -5260,7 +5260,7 @@ getIndexes(Archive *fout, TableInfo tblinfo[], int numTables)
 				 * If we found a constraint matching the index, create an
 				 * entry for it.
 				 *
-				 * In a pre-7.3 database, we take this path iff the index was
+				 * In a pre-7.3 database, we take this path if the index was
 				 * marked indisprimary.
 				 */
 				constrinfo[j].dobj.objType = DO_CONSTRAINT;
@@ -9365,7 +9365,7 @@ dumpProcLang(Archive *fout, ProcLangInfo *plang)
 	 * dump it.
 	 *
 	 * However, for a language that belongs to an extension, we must not use
-	 * the shouldDumpProcLangs heuristic, but just dump the language iff we're
+	 * the shouldDumpProcLangs heuristic, but just dump the language if we're
 	 * told to (via dobj.dump).  Generally the support functions will belong
 	 * to the same extension and so have the same dump flags ... if they
 	 * don't, this might not work terribly nicely.
@@ -10109,7 +10109,7 @@ dumpCast(Archive *fout, CastInfo *cast)
 	 * Builtin meaning, the namespace name does not start with "pg_".
 	 *
 	 * However, for a cast that belongs to an extension, we must not use this
-	 * heuristic, but just dump the cast iff we're told to (via dobj.dump).
+	 * heuristic, but just dump the cast if we're told to (via dobj.dump).
 	 */
 	if (!cast->dobj.ext_member)
 	{
diff --git a/src/include/access/attnum.h b/src/include/access/attnum.h
index 50320d2..9f9c05a 100644
--- a/src/include/access/attnum.h
+++ b/src/include/access/attnum.h
@@ -29,14 +29,14 @@ typedef int16 AttrNumber;
  */
 /*
  * AttributeNumberIsValid
- *		True iff the attribute number is valid.
+ *		True if the attribute number is valid.
  */
 #define AttributeNumberIsValid(attributeNumber) \
 	((bool) ((attributeNumber) != InvalidAttrNumber))
 
 /*
  * AttrNumberIsForUserDefinedAttr
- *		True iff the attribute number corresponds to an user defined attribute.
+ *		True if the attribute number corresponds to an user defined attribute.
  */
 #define AttrNumberIsForUserDefinedAttr(attributeNumber) \
 	((bool) ((attributeNumber) > 0))
diff --git a/src/include/access/genam.h b/src/include/access/genam.h
index a51f4c4..dc63424 100644
--- a/src/include/access/genam.h
+++ b/src/include/access/genam.h
@@ -118,7 +118,7 @@ typedef enum IndexUniqueCheck
 
 /*
  * IndexScanIsValid
- *		True iff the index scan is valid.
+ *		True if the index scan is valid.
  */
 #define IndexScanIsValid(scan) PointerIsValid(scan)
 
diff --git a/src/include/access/heapam.h b/src/include/access/heapam.h
index 0f80257..62c8670 100644
--- a/src/include/access/heapam.h
+++ b/src/include/access/heapam.h
@@ -99,7 +99,7 @@ typedef struct HeapScanDescData *HeapScanDesc;
 
 /*
  * HeapScanIsValid
- *		True iff the heap scan is valid.
+ *		True if the heap scan is valid.
  */
 #define HeapScanIsValid(scan) PointerIsValid(scan)
 
diff --git a/src/include/access/htup_details.h b/src/include/access/htup_details.h
index a3eba98..55e7eb6 100644
--- a/src/include/access/htup_details.h
+++ b/src/include/access/htup_details.h
@@ -84,7 +84,7 @@
  * A word about t_ctid: whenever a new tuple is stored on disk, its t_ctid
  * is initialized with its own TID (location).	If the tuple is ever updated,
  * its t_ctid is changed to point to the replacement version of the tuple.
- * Thus, a tuple is the latest version of its row iff XMAX is invalid or
+ * Thus, a tuple is the latest version of its row if XMAX is invalid or
  * t_ctid points to itself (in which case, if XMAX is valid, the tuple is
  * either locked or deleted).  One can follow the chain of t_ctid links
  * to find the newest version of the row.  Beware however that VACUUM might
diff --git a/src/include/access/sdir.h b/src/include/access/sdir.h
index ffc3142..9867538 100644
--- a/src/include/access/sdir.h
+++ b/src/include/access/sdir.h
@@ -28,7 +28,7 @@ typedef enum ScanDirection
 
 /*
  * ScanDirectionIsValid
- *		True iff scan direction is valid.
+ *		True if scan direction is valid.
  */
 #define ScanDirectionIsValid(direction) \
 	((bool) (BackwardScanDirection <= (direction) && \
@@ -36,21 +36,21 @@ typedef enum ScanDirection
 
 /*
  * ScanDirectionIsBackward
- *		True iff scan direction is backward.
+ *		True if scan direction is backward.
  */
 #define ScanDirectionIsBackward(direction) \
 	((bool) ((direction) == BackwardScanDirection))
 
 /*
  * ScanDirectionIsNoMovement
- *		True iff scan direction indicates no movement.
+ *		True if scan direction indicates no movement.
  */
 #define ScanDirectionIsNoMovement(direction) \
 	((bool) ((direction) == NoMovementScanDirection))
 
 /*
  * ScanDirectionIsForward
- *		True iff scan direction is forward.
+ *		True if scan direction is forward.
  */
 #define ScanDirectionIsForward(direction) \
 	((bool) ((direction) == ForwardScanDirection))
diff --git a/src/include/c.h b/src/include/c.h
index 30b8f51..880ed45 100644
--- a/src/include/c.h
+++ b/src/include/c.h
@@ -464,19 +464,19 @@ typedef NameData *Name;
  */
 /*
  * BoolIsValid
- *		True iff bool is valid.
+ *		True if bool is valid.
  */
 #define BoolIsValid(boolean)	((boolean) == false || (boolean) == true)
 
 /*
  * PointerIsValid
- *		True iff pointer is valid.
+ *		True if pointer is valid.
  */
 #define PointerIsValid(pointer) ((const void*)(pointer) != NULL)
 
 /*
  * PointerIsAligned
- *		True iff pointer is properly aligned to point to the given type.
+ *		True if pointer is properly aligned to point to the given type.
  */
 #define PointerIsAligned(pointer, type) \
 		(((uintptr_t)(pointer) % (sizeof (type))) == 0)
diff --git a/src/include/lib/binaryheap.h b/src/include/lib/binaryheap.h
index 8f83c23..2743b88 100644
--- a/src/include/lib/binaryheap.h
+++ b/src/include/lib/binaryheap.h
@@ -12,8 +12,8 @@
 #define BINARYHEAP_H
 
 /*
- * For a max-heap, the comparator must return <0 iff a < b, 0 iff a == b,
- * and >0 iff a > b.  For a min-heap, the conditions are reversed.
+ * For a max-heap, the comparator must return <0 if a < b, 0 if a == b,
+ * and >0 if a > b.  For a min-heap, the conditions are reversed.
  */
 typedef int (*binaryheap_comparator) (Datum a, Datum b, void *arg);
 
diff --git a/src/include/nodes/memnodes.h b/src/include/nodes/memnodes.h
index f79ebd4..8053255 100644
--- a/src/include/nodes/memnodes.h
+++ b/src/include/nodes/memnodes.h
@@ -67,7 +67,7 @@ typedef struct MemoryContextData
 
 /*
  * MemoryContextIsValid
- *		True iff memory context is valid.
+ *		True if memory context is valid.
  *
  * Add new context types to the set accepted by this macro.
  */
diff --git a/src/include/pgstat.h b/src/include/pgstat.h
index 5f131f8..b5f9770 100644
--- a/src/include/pgstat.h
+++ b/src/include/pgstat.h
@@ -707,7 +707,7 @@ typedef struct PgBackendStatus
 	 */
 	int			st_changecount;
 
-	/* The entry is valid iff st_procpid > 0, unused if st_procpid == 0 */
+	/* The entry is valid if st_procpid > 0, unused if st_procpid == 0 */
 	int			st_procpid;
 
 	/* Times when current backend, transaction, and activity started */
diff --git a/src/include/storage/block.h b/src/include/storage/block.h
index bc503cf..d6dbb67 100644
--- a/src/include/storage/block.h
+++ b/src/include/storage/block.h
@@ -65,14 +65,14 @@ typedef BlockIdData *BlockId;	/* block identifier */
 
 /*
  * BlockNumberIsValid
- *		True iff blockNumber is valid.
+ *		True if blockNumber is valid.
  */
 #define BlockNumberIsValid(blockNumber) \
 	((bool) ((BlockNumber) (blockNumber) != InvalidBlockNumber))
 
 /*
  * BlockIdIsValid
- *		True iff the block identifier is valid.
+ *		True if the block identifier is valid.
  */
 #define BlockIdIsValid(blockId) \
 	((bool) PointerIsValid(blockId))
diff --git a/src/include/storage/buf.h b/src/include/storage/buf.h
index f1f8801..9700bc8 100644
--- a/src/include/storage/buf.h
+++ b/src/include/storage/buf.h
@@ -26,13 +26,13 @@ typedef int Buffer;
 
 /*
  * BufferIsInvalid
- *		True iff the buffer is invalid.
+ *		True if the buffer is invalid.
  */
 #define BufferIsInvalid(buffer) ((buffer) == InvalidBuffer)
 
 /*
  * BufferIsLocal
- *		True iff the buffer is local (not visible to other backends).
+ *		True if the buffer is local (not visible to other backends).
  */
 #define BufferIsLocal(buffer)	((buffer) < 0)
 
diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h
index 89447d0..c454427 100644
--- a/src/include/storage/bufmgr.h
+++ b/src/include/storage/bufmgr.h
@@ -78,7 +78,7 @@ extern PGDLLIMPORT int32 *LocalRefCount;
 
 /*
  * BufferIsValid
- *		True iff the given buffer number is valid (either as a shared
+ *		True if the given buffer number is valid (either as a shared
  *		or local buffer).
  *
  * Note: For a long time this was defined the same as BufferIsPinned,
@@ -103,7 +103,7 @@ extern PGDLLIMPORT int32 *LocalRefCount;
 
 /*
  * BufferIsPinned
- *		True iff the buffer is pinned (also checks for valid buffer number).
+ *		True if the buffer is pinned (also checks for valid buffer number).
  *
  *		NOTE: what we check here is that *this* backend holds a pin on
  *		the buffer.  We do not care whether some other backend does.
diff --git a/src/include/storage/bufpage.h b/src/include/storage/bufpage.h
index c222c32..bcd44b3 100644
--- a/src/include/storage/bufpage.h
+++ b/src/include/storage/bufpage.h
@@ -203,7 +203,7 @@ typedef PageHeaderData *PageHeader;
 
 /*
  * PageIsValid
- *		True iff page is valid.
+ *		True if page is valid.
  */
 #define PageIsValid(page) PointerIsValid(page)
 
@@ -214,14 +214,14 @@ typedef PageHeaderData *PageHeader;
 
 /*
  * PageIsEmpty
- *		returns true iff no itemid has been allocated on the page
+ *		returns true if no itemid has been allocated on the page
  */
 #define PageIsEmpty(page) \
 	(((PageHeader) (page))->pd_lower <= SizeOfPageHeaderData)
 
 /*
  * PageIsNew
- *		returns true iff page has not been initialized (by PageInit)
+ *		returns true if page has not been initialized (by PageInit)
  */
 #define PageIsNew(page) (((PageHeader) (page))->pd_upper == 0)
 
@@ -250,7 +250,7 @@ typedef PageHeaderData *PageHeader;
 
 /*
  * PageSizeIsValid
- *		True iff the page size is valid.
+ *		True if the page size is valid.
  */
 #define PageSizeIsValid(pageSize) ((pageSize) == BLCKSZ)
 
diff --git a/src/include/storage/itemid.h b/src/include/storage/itemid.h
index a91cf97..df9fa24 100644
--- a/src/include/storage/itemid.h
+++ b/src/include/storage/itemid.h
@@ -79,42 +79,42 @@ typedef uint16 ItemLength;
 
 /*
  * ItemIdIsValid
- *		True iff item identifier is valid.
+ *		True if item identifier is valid.
  *		This is a pretty weak test, probably useful only in Asserts.
  */
 #define ItemIdIsValid(itemId)	PointerIsValid(itemId)
 
 /*
  * ItemIdIsUsed
- *		True iff item identifier is in use.
+ *		True if item identifier is in use.
  */
 #define ItemIdIsUsed(itemId) \
 	((itemId)->lp_flags != LP_UNUSED)
 
 /*
  * ItemIdIsNormal
- *		True iff item identifier is in state NORMAL.
+ *		True if item identifier is in state NORMAL.
  */
 #define ItemIdIsNormal(itemId) \
 	((itemId)->lp_flags == LP_NORMAL)
 
 /*
  * ItemIdIsRedirected
- *		True iff item identifier is in state REDIRECT.
+ *		True if item identifier is in state REDIRECT.
  */
 #define ItemIdIsRedirected(itemId) \
 	((itemId)->lp_flags == LP_REDIRECT)
 
 /*
  * ItemIdIsDead
- *		True iff item identifier is in state DEAD.
+ *		True if item identifier is in state DEAD.
  */
 #define ItemIdIsDead(itemId) \
 	((itemId)->lp_flags == LP_DEAD)
 
 /*
  * ItemIdHasStorage
- *		True iff item identifier has associated storage.
+ *		True if item identifier has associated storage.
  */
 #define ItemIdHasStorage(itemId) \
 	((itemId)->lp_len != 0)
diff --git a/src/include/storage/itemptr.h b/src/include/storage/itemptr.h
index 0b81d53..e3dc767 100644
--- a/src/include/storage/itemptr.h
+++ b/src/include/storage/itemptr.h
@@ -57,7 +57,7 @@ typedef ItemPointerData *ItemPointer;
 
 /*
  * ItemPointerIsValid
- *		True iff the disk item pointer is not NULL.
+ *		True if the disk item pointer is not NULL.
  */
 #define ItemPointerIsValid(pointer) \
 	((bool) (PointerIsValid(pointer) && ((pointer)->ip_posid != 0)))
diff --git a/src/include/storage/off.h b/src/include/storage/off.h
index 80d2b77..4ee91e1 100644
--- a/src/include/storage/off.h
+++ b/src/include/storage/off.h
@@ -35,7 +35,7 @@ typedef uint16 OffsetNumber;
 
 /*
  * OffsetNumberIsValid
- *		True iff the offset number is valid.
+ *		True if the offset number is valid.
  */
 #define OffsetNumberIsValid(offsetNumber) \
 	((bool) ((offsetNumber != InvalidOffsetNumber) && \
diff --git a/src/include/storage/pos.h b/src/include/storage/pos.h
index bc41502..29fe64c 100644
--- a/src/include/storage/pos.h
+++ b/src/include/storage/pos.h
@@ -35,7 +35,7 @@ typedef PositionIdData *PositionId;
 
 /*
  * PositionIdIsValid
- *		True iff the position identifier is valid.
+ *		True if the position identifier is valid.
  */
 #define PositionIdIsValid(positionId) \
 	PointerIsValid(positionId)
diff --git a/src/include/utils/portal.h b/src/include/utils/portal.h
index 0506bde..e9141e3 100644
--- a/src/include/utils/portal.h
+++ b/src/include/utils/portal.h
@@ -179,7 +179,7 @@ typedef struct PortalData
 
 /*
  * PortalIsValid
- *		True iff portal is valid.
+ *		True if portal is valid.
  */
 #define PortalIsValid(p) PointerIsValid(p)
 
diff --git a/src/include/utils/rel.h b/src/include/utils/rel.h
index c87dadc..abece3e 100644
--- a/src/include/utils/rel.h
+++ b/src/include/utils/rel.h
@@ -300,7 +300,7 @@ typedef struct StdRdOptions
 
 /*
  * RelationIsValid
- *		True iff relation descriptor is valid.
+ *		True if relation descriptor is valid.
  */
 #define RelationIsValid(relation) PointerIsValid(relation)
 
@@ -308,7 +308,7 @@ typedef struct StdRdOptions
 
 /*
  * RelationHasReferenceCountZero
- *		True iff relation reference count is zero.
+ *		True if relation reference count is zero.
  *
  * Note:
  *		Assumes relation descriptor is valid.
diff --git a/src/include/utils/tqual.h b/src/include/utils/tqual.h
index 48abe62..d9cc93f 100644
--- a/src/include/utils/tqual.h
+++ b/src/include/utils/tqual.h
@@ -43,7 +43,7 @@ extern PGDLLIMPORT SnapshotData CatalogSnapshotData;
 
 /*
  * HeapTupleSatisfiesVisibility
- *		True iff heap tuple satisfies a time qual.
+ *		True if heap tuple satisfies a time qual.
  *
  * Notes:
  *	Assumes heap tuple is valid.
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index 5fff635..016e01c 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -688,7 +688,7 @@ activate_interpreter(plperl_interp_desc *interp_desc)
 	{
 		Assert(interp_desc->interp);
 		PERL_SET_CONTEXT(interp_desc->interp);
-		/* trusted iff user_id isn't InvalidOid */
+		/* trusted if user_id isn't InvalidOid */
 		set_interp_require(OidIsValid(interp_desc->user_id));
 		plperl_active_interp = interp_desc;
 	}
@@ -863,7 +863,7 @@ plperl_init_interp(void)
  * This is safe because it's completely unable to load any code.
  * If the requested file/module has already been loaded it'll return true.
  * If not, it'll die.
- * So now "use Foo;" will work iff Foo has already been loaded.
+ * So now "use Foo;" will work if Foo has already been loaded.
  */
 static OP  *
 pp_require_safe(pTHX)
diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c
index 3749fac..a3f52fa 100644
--- a/src/pl/plpgsql/src/pl_exec.c
+++ b/src/pl/plpgsql/src/pl_exec.c
@@ -2125,7 +2125,7 @@ exec_stmt_forc(PLpgSQL_execstate *estate, PLpgSQL_stmt_forc *stmt)
 	 * Open the cursor just like an OPEN command
 	 *
 	 * Note: parser should already have checked that statement supplies
-	 * args iff cursor needs them, but we check again to be safe.
+	 * args if cursor needs them, but we check again to be safe.
 	 * ----------
 	 */
 	if (stmt->argquery != NULL)
@@ -3773,7 +3773,7 @@ exec_stmt_open(PLpgSQL_execstate *estate, PLpgSQL_stmt_open *stmt)
 		 * This is an OPEN cursor
 		 *
 		 * Note: parser should already have checked that statement supplies
-		 * args iff cursor needs them, but we check again to be safe.
+		 * args if cursor needs them, but we check again to be safe.
 		 * ----------
 		 */
 		if (stmt->argquery != NULL)
diff --git a/src/test/regress/expected/opr_sanity.out b/src/test/regress/expected/opr_sanity.out
index b2d671a..5275eb2 100644
--- a/src/test/regress/expected/opr_sanity.out
+++ b/src/test/regress/expected/opr_sanity.out
@@ -73,7 +73,7 @@ WHERE proiswindow AND (proisagg OR proretset);
 -----+---------
 (0 rows)
 
--- pronargdefaults should be 0 iff proargdefaults is null
+-- pronargdefaults should be 0 if proargdefaults is null
 SELECT p1.oid, p1.proname
 FROM pg_proc AS p1
 WHERE (pronargdefaults <> 0) != (proargdefaults IS NOT NULL);
diff --git a/src/test/regress/expected/type_sanity.out b/src/test/regress/expected/type_sanity.out
index 3616c8d..16a4468 100644
--- a/src/test/regress/expected/type_sanity.out
+++ b/src/test/regress/expected/type_sanity.out
@@ -482,7 +482,7 @@ WHERE p1.rngtypid = 0 OR p1.rngsubtype = 0 OR p1.rngsubopc = 0;
 ----------+------------
 (0 rows)
 
--- rngcollation should be specified iff subtype is collatable
+-- rngcollation should be specified if subtype is collatable
 SELECT p1.rngtypid, p1.rngsubtype, p1.rngcollation, t.typcollation
 FROM pg_range p1 JOIN pg_type t ON t.oid = p1.rngsubtype
 WHERE (rngcollation = 0) != (typcollation = 0);
diff --git a/src/test/regress/sql/opr_sanity.sql b/src/test/regress/sql/opr_sanity.sql
index dc1acb9..8aac7dd 100644
--- a/src/test/regress/sql/opr_sanity.sql
+++ b/src/test/regress/sql/opr_sanity.sql
@@ -71,7 +71,7 @@ SELECT p1.oid, p1.proname
 FROM pg_proc AS p1
 WHERE proiswindow AND (proisagg OR proretset);
 
--- pronargdefaults should be 0 iff proargdefaults is null
+-- pronargdefaults should be 0 if proargdefaults is null
 SELECT p1.oid, p1.proname
 FROM pg_proc AS p1
 WHERE (pronargdefaults <> 0) != (proargdefaults IS NOT NULL);
diff --git a/src/test/regress/sql/type_sanity.sql b/src/test/regress/sql/type_sanity.sql
index 14cb540..38be39b 100644
--- a/src/test/regress/sql/type_sanity.sql
+++ b/src/test/regress/sql/type_sanity.sql
@@ -360,7 +360,7 @@ SELECT p1.rngtypid, p1.rngsubtype
 FROM pg_range as p1
 WHERE p1.rngtypid = 0 OR p1.rngsubtype = 0 OR p1.rngsubopc = 0;
 
--- rngcollation should be specified iff subtype is collatable
+-- rngcollation should be specified if subtype is collatable
 
 SELECT p1.rngtypid, p1.rngsubtype, p1.rngcollation, t.typcollation
 FROM pg_range p1 JOIN pg_type t ON t.oid = p1.rngsubtype
