diff --git a/config/c-library.m4 b/config/c-library.m4
index 9c2207b03dd882e2feacf5048ed56dbe498f90e6..34b25081a6e5f901702f0f5bc08ca19179eb7096 100644
--- a/config/c-library.m4
+++ b/config/c-library.m4
@@ -177,7 +177,7 @@ AC_DEFUN([PGAC_STRUCT_ADDRINFO],
 # handle ll, q, and I64.  The result is in shell variable
 # LONG_LONG_INT_MODIFIER.
 #
-# MinGW uses '%I64d', though gcc throws an warning with -Wall,
+# MinGW uses '%I64d', though gcc throws a warning with -Wall,
 # while '%lld' doesn't generate a warning, but doesn't work.
 #
 AC_DEFUN([PGAC_FUNC_SNPRINTF_LONG_LONG_INT_MODIFIER],
diff --git a/src/backend/access/gin/ginvacuum.c b/src/backend/access/gin/ginvacuum.c
index 398532d80bad0753a739c57001c9685e8a143eec..630d6a7788c2d5733cf52886230f331648dfe353 100644
--- a/src/backend/access/gin/ginvacuum.c
+++ b/src/backend/access/gin/ginvacuum.c
@@ -381,7 +381,7 @@ ginVacuumPostingTreeLeaves(GinVacuumState *gvs, BlockNumber blkno, bool isRoot)
 
 		/*
 		 * All subtree is empty - just return true to indicate that parent
-		 * must do a cleanup. Unless we are ROOT an there is way to go upper.
+		 * must do a cleanup, unless we are ROOT and there is way to go upper.
 		 */
 
 		if (hasEmptyChild && !hasNonEmptyChild && !isRoot)
diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c
index 83000575ce76e694f445970b4d6d9c24449c76a5..0ace1968df4435761481df65d5e82abe07ad2532 100644
--- a/src/backend/catalog/aclchk.c
+++ b/src/backend/catalog/aclchk.c
@@ -5280,7 +5280,7 @@ pg_extension_ownercheck(Oid ext_oid, Oid roleid)
 }
 
 /*
- * Ownership check for an publication (specified by OID).
+ * Ownership check for a publication (specified by OID).
  */
 bool
 pg_publication_ownercheck(Oid pub_oid, Oid roleid)
diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 639b6992d537f6916ddc6f0df15ab55b8696c02a..0f844c00c83e66e067059385a12d910859769b05 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -1539,7 +1539,7 @@ finish_heap_swap(Oid OIDOldHeap, Oid OIDNewHeap,
 						frozenXid, cutoffMulti, mapped_tables);
 
 	/*
-	 * If it's a system catalog, queue an sinval message to flush all
+	 * If it's a system catalog, queue a sinval message to flush all
 	 * catcaches on the catalog when we reach CommandCounterIncrement.
 	 */
 	if (is_system_catalog)
diff --git a/src/backend/executor/instrument.c b/src/backend/executor/instrument.c
index a2d9381ba1a01e8b407339136c7e898dee166b2f..86252cee1f31b462058cc69c108fb1bad234d79c 100644
--- a/src/backend/executor/instrument.c
+++ b/src/backend/executor/instrument.c
@@ -49,7 +49,7 @@ InstrAlloc(int n, int instrument_options)
 	return instr;
 }
 
-/* Initialize an pre-allocated instrumentation structure. */
+/* Initialize a pre-allocated instrumentation structure. */
 void
 InstrInit(Instrumentation *instr, int instrument_options)
 {
diff --git a/src/backend/libpq/pqformat.c b/src/backend/libpq/pqformat.c
index 30145b96ec1c88ef81dd4a1682a3318f97d6a1a9..1c7e99019d4ff912c38e225ffe985fc233e57280 100644
--- a/src/backend/libpq/pqformat.c
+++ b/src/backend/libpq/pqformat.c
@@ -100,7 +100,7 @@ pq_beginmessage(StringInfo buf, char msgtype)
 
  *		pq_beginmessage_reuse - initialize for sending a message, reuse buffer
  *
- * This requires the buffer to be allocated in an sufficiently long-lived
+ * This requires the buffer to be allocated in a sufficiently long-lived
  * memory context.
  * --------------------------------
  */
diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c
index fd4586e73d52d3a6fe865adf0dc6b95129e7270d..d02d4ec5b7c6ae96d79aef15c42e5b95b6ecc2ac 100644
--- a/src/backend/nodes/readfuncs.c
+++ b/src/backend/nodes/readfuncs.c
@@ -77,7 +77,7 @@
 	token = pg_strtok(&length);		/* get field value */ \
 	local_node->fldname = pg_strtouint64(token, NULL, 10)
 
-/* Read an long integer field (anything written as ":fldname %ld") */
+/* Read a long integer field (anything written as ":fldname %ld") */
 #define READ_LONG_FIELD(fldname) \
 	token = pg_strtok(&length);		/* skip :fldname */ \
 	token = pg_strtok(&length);		/* get field value */ \
diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c
index ec8579582735195a85610a0059729ef72732d283..fae97135dbb49b3a22d7eae0fd8049a6a2154c47 100644
--- a/src/backend/utils/adt/nabstime.c
+++ b/src/backend/utils/adt/nabstime.c
@@ -694,7 +694,7 @@ reltime2tm(RelativeTime time, struct pg_tm *tm)
 
 
 /*
- *		tintervalin		- converts an tinterval string to internal format
+ *		tintervalin		- converts a tinterval string to internal format
  */
 Datum
 tintervalin(PG_FUNCTION_ARGS)
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c
index 48f92dc430d407380becabf3b6223e07432ae1ef..69a2114a104f4897778818e7529627456f35fb01 100644
--- a/src/backend/utils/cache/relcache.c
+++ b/src/backend/utils/cache/relcache.c
@@ -2420,7 +2420,7 @@ RelationDestroyRelation(Relation relation, bool remember_tupdesc)
  *	 NB: when rebuilding, we'd better hold some lock on the relation,
  *	 else the catalog data we need to read could be changing under us.
  *	 Also, a rel to be rebuilt had better have refcnt > 0.  This is because
- *	 an sinval reset could happen while we're accessing the catalogs, and
+ *	 a sinval reset could happen while we're accessing the catalogs, and
  *	 the rel would get blown away underneath us by RelationCacheInvalidate
  *	 if it has zero refcnt.
  *
diff --git a/src/bin/pgbench/t/001_pgbench_with_server.pl b/src/bin/pgbench/t/001_pgbench_with_server.pl
index 0929418d30675bc04ffaad0a1955e26339492bb5..be08b2061137164f5773393da335c6349372af3b 100644
--- a/src/bin/pgbench/t/001_pgbench_with_server.pl
+++ b/src/bin/pgbench/t/001_pgbench_with_server.pl
@@ -583,7 +583,7 @@ SELECT LEAST(:i, :i, :i, :i, :i, :i, :i, :i, :i, :i, :i);
 		0,
 		[ qr{cannot coerce boolean to int} ],
 		q{\set i TRUE + 2} ],
-	[ 'set not an double',
+	[ 'set not a double',
 		0,
 		[ qr{cannot coerce boolean to double} ],
 		q{\set d ln(TRUE)} ],