summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Davis <jdavis@postgresql.org>2025-10-18 16:25:23 -0700
committerJeff Davis <jdavis@postgresql.org>2025-10-18 16:25:23 -0700
commite533524b23b8dd504d38c09c9f84b38289ca635d (patch)
tree7fff00c99e2449aeeff2044f275efa7b185e7d18
parent67a8b49e96caf0782b556521c8d6650e78f2d88e (diff)
Add pg_database_locale() to retrieve database default locale.
Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://postgr.es/m/0151ad01239e2cc7b3139644358cf8f7b9622ff7.camel@j-davis.com
-rw-r--r--src/backend/utils/adt/pg_locale.c9
-rw-r--r--src/include/utils/pg_locale.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c
index 3860ada1905..00d1e031472 100644
--- a/src/backend/utils/adt/pg_locale.c
+++ b/src/backend/utils/adt/pg_locale.c
@@ -1163,6 +1163,15 @@ init_database_collation(void)
}
/*
+ * 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 29c21d4413c..86c48c34f26 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);