diff --git a/contrib/amcheck/verify_nbtree.c b/contrib/amcheck/verify_nbtree.c
index dc1508b636..d3b29d3d89 100644
--- a/contrib/amcheck/verify_nbtree.c
+++ b/contrib/amcheck/verify_nbtree.c
@@ -1512,7 +1512,7 @@ bt_target_page_check(BtreeCheckState *state)
/*
* Special case bt_child_highkey_check() call
*
- * We don't pass an real downlink, but we've to finish the level
+ * We don't pass a real downlink, but we've to finish the level
* processing. If condition is satisfied, we've already processed all the
* downlinks from the target level. But there still might be pages to the
* right of the child page pointer to by our rightmost downlink. And they
diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml
index 04d4a6bdb2..5a2dc4a8ae 100644
--- a/doc/src/sgml/ecpg.sgml
+++ b/doc/src/sgml/ecpg.sgml
@@ -6977,7 +6977,7 @@ EXEC SQL CLOSE cursor_name;
Compatibility
- DECLARE STATEMENT is a extension of the SQL standard,
+ DECLARE STATEMENT is an extension of the SQL standard,
but can be used in famous DBMSs.
diff --git a/src/backend/access/table/toast_helper.c b/src/backend/access/table/toast_helper.c
index 53f78f9c3e..013236b73d 100644
--- a/src/backend/access/table/toast_helper.c
+++ b/src/backend/access/table/toast_helper.c
@@ -33,7 +33,7 @@
* All of these arrays should have a length equal to tupleDesc->natts.
*
* On return, toast_flags and toast_attr will have been initialized.
- * toast_flags is just a single uint8, but toast_attr is an caller-provided
+ * toast_flags is just a single uint8, but toast_attr is a caller-provided
* array with a length equal to tupleDesc->natts. The caller need not
* perform any initialization of the array before calling this function.
*/
diff --git a/src/backend/catalog/pg_depend.c b/src/backend/catalog/pg_depend.c
index 07bcdc463a..5f37bf6d10 100644
--- a/src/backend/catalog/pg_depend.c
+++ b/src/backend/catalog/pg_depend.c
@@ -180,7 +180,7 @@ recordMultipleDependencies(const ObjectAddress *depender,
* Passing false is a guarantee that the object is newly created, and so
* could not already be a member of any extension.
*
- * Note: isReplace = true is typically used when updating a object in
+ * Note: isReplace = true is typically used when updating an object in
* CREATE OR REPLACE and similar commands. The net effect is that if an
* extension script uses such a command on a pre-existing free-standing
* object, the object will be absorbed into the extension. If the object
diff --git a/src/backend/jit/llvm/llvmjit_error.cpp b/src/backend/jit/llvm/llvmjit_error.cpp
index daefb3e1fd..f4720732a3 100644
--- a/src/backend/jit/llvm/llvmjit_error.cpp
+++ b/src/backend/jit/llvm/llvmjit_error.cpp
@@ -84,7 +84,7 @@ llvm_leave_fatal_on_oom(void)
}
/*
- * Are we currently in an fatal-on-oom section? Useful to skip cleanup in case
+ * Are we currently in a fatal-on-oom section? Useful to skip cleanup in case
* of errors.
*/
bool
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c
index 46e66608cf..7aa5647a2c 100644
--- a/src/backend/replication/logical/reorderbuffer.c
+++ b/src/backend/replication/logical/reorderbuffer.c
@@ -452,7 +452,7 @@ ReorderBufferReturnTXN(ReorderBuffer *rb, ReorderBufferTXN *txn)
}
/*
- * Get an fresh ReorderBufferChange.
+ * Get a fresh ReorderBufferChange.
*/
ReorderBufferChange *
ReorderBufferGetChange(ReorderBuffer *rb)
@@ -558,7 +558,7 @@ ReorderBufferGetTupleBuf(ReorderBuffer *rb, Size tuple_len)
}
/*
- * Free an ReorderBufferTupleBuf.
+ * Free a ReorderBufferTupleBuf.
*/
void
ReorderBufferReturnTupleBuf(ReorderBuffer *rb, ReorderBufferTupleBuf *tuple)
@@ -639,7 +639,7 @@ ReorderBufferTXNByXid(ReorderBuffer *rb, TransactionId xid, bool create,
}
/*
- * If the cache wasn't hit or it yielded an "does-not-exist" and we want
+ * If the cache wasn't hit or it yielded a "does-not-exist" and we want
* to create an entry.
*/