public inbox for [email protected]
help / color / mirror / Atom feedFrom: Matheus Alcantara <[email protected]>
To: [email protected]
Subject: docs: Include database collation check on SQL from alter_collation.sgml
Date: Thu, 09 Apr 2026 15:00:34 -0300
Message-ID: <[email protected]> (raw)
Hi,
The ALTER COLLATION documentation section include a SQL that can be used
to identity all collations in the current database that need to be
refreshed due to a collation version miss match and the objects that
depend on them. However if there is objects that use the database
collation these objects are not returned by the query.
The attached patch change the query to include the database collation
check to report collation version miss match for objects that use the
database default collation as they are not stored on pg_depend.
--
Matheus Alcantara
EDB: https://www.enterprisedb.com
From e44674dfaee27bc449e0f3de65a0925851a598a3 Mon Sep 17 00:00:00 2001
From: Matheus Alcantara <[email protected]>
Date: Thu, 9 Apr 2026 14:09:05 -0300
Subject: [PATCH v1 1/2] docs: Include database collation check on SQL from
ALTER COLLATION
Previously the alter_collation.sgml documentation section include a SQL
that can be used to identity all collations in the current database that
need to be refreshed due to a collation version miss match and the
objects that depend on them. However if there is objects that use the
database collation these objects are not returned by the query.
This commit improve the query on alter_collation.sgml to include the
database collation version check too to report such cases.
---
doc/src/sgml/ref/alter_collation.sgml | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/doc/src/sgml/ref/alter_collation.sgml b/doc/src/sgml/ref/alter_collation.sgml
index a40a31442a8..f0c3af20b95 100644
--- a/doc/src/sgml/ref/alter_collation.sgml
+++ b/doc/src/sgml/ref/alter_collation.sgml
@@ -164,7 +164,13 @@ SELECT pg_describe_object(refclassid, refobjid, refobjsubid) AS "Collation",
pg_describe_object(classid, objid, objsubid) AS "Object"
FROM pg_depend d JOIN pg_collation c
ON refclassid = 'pg_collation'::regclass AND refobjid = c.oid
- WHERE c.collversion <> pg_collation_actual_version(c.oid)
+ JOIN pg_database db ON db.datname = current_database()
+ WHERE c.collprovider IN ('d', 'c')
+ AND (
+ (c.collprovider = 'd' AND db.datcollversion <> pg_database_collation_actual_version(db.oid))
+ OR
+ (c.collprovider = 'c' AND c.collversion <> pg_collation_actual_version(c.oid))
+ )
ORDER BY 1, 2;
]]></programlisting></para>
</refsect1>
--
2.53.0
Attachments:
[text/plain] v1-0001-docs-Include-database-collation-check-on-SQL-from.patch (1.7K, 2-v1-0001-docs-Include-database-collation-check-on-SQL-from.patch)
download | inline diff:
From e44674dfaee27bc449e0f3de65a0925851a598a3 Mon Sep 17 00:00:00 2001
From: Matheus Alcantara <[email protected]>
Date: Thu, 9 Apr 2026 14:09:05 -0300
Subject: [PATCH v1 1/2] docs: Include database collation check on SQL from
ALTER COLLATION
Previously the alter_collation.sgml documentation section include a SQL
that can be used to identity all collations in the current database that
need to be refreshed due to a collation version miss match and the
objects that depend on them. However if there is objects that use the
database collation these objects are not returned by the query.
This commit improve the query on alter_collation.sgml to include the
database collation version check too to report such cases.
---
doc/src/sgml/ref/alter_collation.sgml | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/doc/src/sgml/ref/alter_collation.sgml b/doc/src/sgml/ref/alter_collation.sgml
index a40a31442a8..f0c3af20b95 100644
--- a/doc/src/sgml/ref/alter_collation.sgml
+++ b/doc/src/sgml/ref/alter_collation.sgml
@@ -164,7 +164,13 @@ SELECT pg_describe_object(refclassid, refobjid, refobjsubid) AS "Collation",
pg_describe_object(classid, objid, objsubid) AS "Object"
FROM pg_depend d JOIN pg_collation c
ON refclassid = 'pg_collation'::regclass AND refobjid = c.oid
- WHERE c.collversion <> pg_collation_actual_version(c.oid)
+ JOIN pg_database db ON db.datname = current_database()
+ WHERE c.collprovider IN ('d', 'c')
+ AND (
+ (c.collprovider = 'd' AND db.datcollversion <> pg_database_collation_actual_version(db.oid))
+ OR
+ (c.collprovider = 'c' AND c.collversion <> pg_collation_actual_version(c.oid))
+ )
ORDER BY 1, 2;
]]></programlisting></para>
</refsect1>
--
2.53.0
view thread (2+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: docs: Include database collation check on SQL from alter_collation.sgml
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox