diff --git a/.cirrus.yml b/.cirrus.yml
index 63b2426741d..ab7043c54e6 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -11,7 +11,7 @@ env:
CONTAINER_REPO: us-docker.pkg.dev/${GCP_PROJECT}/ci
# The lower depth accelerates git clone. Use a bit of depth so that
- # concurrent tasks and retrying older jobs has a chance of working.
+ # concurrent tasks and retrying older jobs have a chance of working.
CIRRUS_CLONE_DEPTH: 500
# Useful to be able to analyse what in a script takes long
CIRRUS_LOG_TIMESTAMP: true
@@ -66,7 +66,7 @@ task:
ccache_cache:
folder: $CCACHE_DIR
- # Workaround around performance issues due to 32KB block size
+ # Work around performance issues due to 32KB block size
repartition_script: src/tools/ci/gcp_freebsd_repartition.sh
create_user_script: |
pw useradd postgres
diff --git a/doc/src/sgml/parallel.sgml b/doc/src/sgml/parallel.sgml
index e556786e2bd..5acc9537d6f 100644
--- a/doc/src/sgml/parallel.sgml
+++ b/doc/src/sgml/parallel.sgml
@@ -128,7 +128,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
In addition, the system must not be running in single-user mode. Since
- the entire database system is running in single process in this situation,
+ the entire database system is running as a single process in this situation,
no background workers will be available.
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index a3c62bf056e..240fbafade4 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -1001,7 +1001,7 @@ WITH ( MODULUS numeric_literal, REM
constraint. This does not work, however, if any of the partition keys
is an expression and the partition does not accept
NULL values. If attaching a list partition that will
- not accept NULL values, also add
+ not accept NULL values, also add a
NOT NULL constraint to the partition key column,
unless it's an expression.
@@ -1373,7 +1373,7 @@ WITH ( MODULUS numeric_literal, REM
type or an unconstrained domain over the new type, a table rewrite is not
needed. However, indexes must always be rebuilt unless the system can
verify that the new index would be logically equivalent to the existing
- one. For example, if the collation for a column has been changed an index
+ one. For example, if the collation for a column has been changed, an index
rebuild is always required because the new sort order might be different.
However, in the absence of a collation change, a column can be changed
from text to varchar (or vice versa) without
diff --git a/doc/src/sgml/ref/create_subscription.sgml b/doc/src/sgml/ref/create_subscription.sgml
index fdc4acab8af..3eb1ead4ace 100644
--- a/doc/src/sgml/ref/create_subscription.sgml
+++ b/doc/src/sgml/ref/create_subscription.sgml
@@ -350,7 +350,7 @@ CREATE SUBSCRIPTION subscription_nameFOR TABLES IN SCHEMA, rows are always published
regardless of the definition of the other expressions.
If the subscriber is a PostgreSQL version before
- 15 then any row filtering is ignored during the initial data synchronization
+ 15, then any row filtering is ignored during the initial data synchronization
phase. For this case, the user might want to consider deleting any initially
copied data that would be incompatible with subsequent filtering.
Because initial data synchronization does not take into account the publication
diff --git a/doc/src/sgml/sources.sgml b/doc/src/sgml/sources.sgml
index 5186d75d616..e0a6f775b6e 100644
--- a/doc/src/sgml/sources.sgml
+++ b/doc/src/sgml/sources.sgml
@@ -935,8 +935,8 @@ BETTER: unrecognized node type: 42
Function-Like Macros and Inline Functions
- Both, macros with arguments and static inline
- functions, may be used. The latter are preferable if there are
+ Both macros with arguments and static inline
+ functions may be used. The latter are preferable if there are
multiple-evaluation hazards when written as a macro, as e.g., the
case with
diff --git a/src/backend/access/common/bufmask.c b/src/backend/access/common/bufmask.c
index 4e953bfd61d..a8f213cf78f 100644
--- a/src/backend/access/common/bufmask.c
+++ b/src/backend/access/common/bufmask.c
@@ -78,7 +78,7 @@ mask_unused_space(Page page)
if (pd_lower > pd_upper || pd_special < pd_upper ||
pd_lower < SizeOfPageHeaderData || pd_special > BLCKSZ)
{
- elog(ERROR, "invalid page pd_lower %u pd_upper %u pd_special %u\n",
+ elog(ERROR, "invalid page pd_lower %u pd_upper %u pd_special %u",
pd_lower, pd_upper, pd_special);
}
diff --git a/src/backend/access/spgist/spgutils.c b/src/backend/access/spgist/spgutils.c
index 2c661fcf96f..f2da02eb52d 100644
--- a/src/backend/access/spgist/spgutils.c
+++ b/src/backend/access/spgist/spgutils.c
@@ -1301,7 +1301,7 @@ spgproperty(Oid index_oid, int attno,
/*
* Currently, SP-GiST distance-ordered scans require that there be a
* distance operator in the opclass with the default types. So we assume
- * that if such a operator exists, then there's a reason for it.
+ * that if such an operator exists, then there's a reason for it.
*/
/* First we need to know the column's opclass. */
diff --git a/src/backend/jit/llvm/llvmjit.c b/src/backend/jit/llvm/llvmjit.c
index 19e5b153a43..55236e2006c 100644
--- a/src/backend/jit/llvm/llvmjit.c
+++ b/src/backend/jit/llvm/llvmjit.c
@@ -816,7 +816,7 @@ llvm_session_initialize(void)
if (LLVMGetTargetFromTriple(llvm_triple, &llvm_targetref, &error) != 0)
{
- elog(FATAL, "failed to query triple %s\n", error);
+ elog(FATAL, "failed to query triple %s", error);
}
/*
diff --git a/src/backend/optimizer/util/tlist.c b/src/backend/optimizer/util/tlist.c
index 784a1af82df..eed3e3fb75a 100644
--- a/src/backend/optimizer/util/tlist.c
+++ b/src/backend/optimizer/util/tlist.c
@@ -865,7 +865,7 @@ apply_pathtarget_labeling_to_tlist(List *tlist, PathTarget *target)
*
* The outputs of this function are two parallel lists, one a list of
* PathTargets and the other an integer list of bool flags indicating
- * whether the corresponding PathTarget contains any evaluatable SRFs.
+ * whether the corresponding PathTarget contains any evaluable SRFs.
* The lists are given in the order they'd need to be evaluated in, with
* the "lowest" PathTarget first. So the last list entry is always the
* originally given PathTarget, and any entries before it indicate evaluation
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index 3edd30bec0a..c1f75a6ce9e 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -11416,7 +11416,7 @@ get_opclass_name(Oid opclass, Oid actual_datatype,
/*
* generate_opclass_name
- * Compute the name to display for a opclass specified by OID
+ * Compute the name to display for an opclass specified by OID
*
* The result includes all necessary quoting and schema-prefixing.
*/
diff --git a/src/bin/pg_upgrade/info.c b/src/bin/pg_upgrade/info.c
index 89df7afbdc4..a9ce7408b5e 100644
--- a/src/bin/pg_upgrade/info.c
+++ b/src/bin/pg_upgrade/info.c
@@ -408,11 +408,10 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
query[0] = '\0'; /* initialize query string to empty */
/*
- * Create a CTE that collects OIDs of regular user tables, including
- * matviews and sequences, but excluding toast tables and indexes. We
- * assume that relations with OIDs >= FirstNormalObjectId belong to the
- * user. (That's probably redundant with the namespace-name exclusions,
- * but let's be safe.)
+ * Create a CTE that collects OIDs of regular user tables and matviews,
+ * but excluding toast tables and indexes. We assume that relations with
+ * OIDs >= FirstNormalObjectId belong to the user. (That's probably
+ * redundant with the namespace-name exclusions, but let's be safe.)
*
* pg_largeobject contains user data that does not appear in pg_dump
* output, so we have to copy that system table. It's easiest to do that
diff --git a/src/test/regress/expected/copy.out b/src/test/regress/expected/copy.out
index 3fad1c52d1f..8a8bf43fdea 100644
--- a/src/test/regress/expected/copy.out
+++ b/src/test/regress/expected/copy.out
@@ -182,7 +182,7 @@ create table header_copytest (
b int,
c text
);
--- Make sure it works with with dropped columns
+-- Make sure it works with dropped columns
alter table header_copytest drop column c;
alter table header_copytest add column c text;
copy header_copytest to stdout with (header match);
diff --git a/src/test/regress/expected/expressions.out b/src/test/regress/expected/expressions.out
index 5bf39fd9aaf..889489ab895 100644
--- a/src/test/regress/expected/expressions.out
+++ b/src/test/regress/expected/expressions.out
@@ -57,7 +57,7 @@ SELECT now()::timestamp::text = localtimestamp::text;
t
(1 row)
--- current_role/user/user is tested in rolnames.sql
+-- current_role/user/user is tested in rolenames.sql
-- current database / catalog
SELECT current_catalog = current_database();
?column?
diff --git a/src/test/regress/sql/copy.sql b/src/test/regress/sql/copy.sql
index 285022e07c6..f9da7b1508f 100644
--- a/src/test/regress/sql/copy.sql
+++ b/src/test/regress/sql/copy.sql
@@ -204,7 +204,7 @@ create table header_copytest (
b int,
c text
);
--- Make sure it works with with dropped columns
+-- Make sure it works with dropped columns
alter table header_copytest drop column c;
alter table header_copytest add column c text;
copy header_copytest to stdout with (header match);
diff --git a/src/test/regress/sql/expressions.sql b/src/test/regress/sql/expressions.sql
index 0e163cc0d75..aebd08fa052 100644
--- a/src/test/regress/sql/expressions.sql
+++ b/src/test/regress/sql/expressions.sql
@@ -24,7 +24,7 @@ SELECT length(current_timestamp::text) >= length(current_timestamp(0)::text);
-- localtimestamp
SELECT now()::timestamp::text = localtimestamp::text;
--- current_role/user/user is tested in rolnames.sql
+-- current_role/user/user is tested in rolenames.sql
-- current database / catalog
SELECT current_catalog = current_database();
diff --git a/src/test/ssl/t/SSL/Server.pm b/src/test/ssl/t/SSL/Server.pm
index 62f54dcbf16..9520578e7d9 100644
--- a/src/test/ssl/t/SSL/Server.pm
+++ b/src/test/ssl/t/SSL/Server.pm
@@ -257,7 +257,7 @@ The certificate file to use. Implementation is SSL backend specific.
=item keyfile => B
-The private key to to use. Implementation is SSL backend specific.
+The private key to use. Implementation is SSL backend specific.
=item crlfile => B