From 12e67f9e85154e471f5906e73f314c49d20af111 Mon Sep 17 00:00:00 2001
From: Jeff Davis <jeff@j-davis.com>
Date: Mon, 6 Oct 2025 14:24:59 -0700
Subject: [PATCH v1 4/6] Add pg_database_locale() to retrieve database default
 locale.

---
 src/backend/utils/adt/pg_locale.c | 9 +++++++++
 src/include/utils/pg_locale.h     | 1 +
 2 files changed, 10 insertions(+)

diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c
index c06004400fc..5570402b35e 100644
--- a/src/backend/utils/adt/pg_locale.c
+++ b/src/backend/utils/adt/pg_locale.c
@@ -1162,6 +1162,15 @@ init_database_collation(void)
 	default_locale = result;
 }
 
+/*
+ * Get database default locale.
+ */
+pg_locale_t
+pg_database_locale(void)
+{
+	return pg_newlocale_from_collation(DEFAULT_COLLATION_OID);
+}
+
 /*
  * Create a pg_locale_t from a collation OID.  Results are cached for the
  * lifetime of the backend.  Thus, do not free the result with freelocale().
diff --git a/src/include/utils/pg_locale.h b/src/include/utils/pg_locale.h
index 2f6b04062f2..259fc70bb78 100644
--- a/src/include/utils/pg_locale.h
+++ b/src/include/utils/pg_locale.h
@@ -176,6 +176,7 @@ struct pg_locale_struct
 };
 
 extern void init_database_collation(void);
+extern pg_locale_t pg_database_locale(void);
 extern pg_locale_t pg_newlocale_from_collation(Oid collid);
 
 extern char *get_collation_actual_version(char collprovider, const char *collcollate);
-- 
2.43.0

