It’s easy to guess values for, say, countries in Europe: This:
create function to_char_demo() returns table(z text) language plpgsql as $body$ declare -- Counted from midnight 1-Jan-1970 UTC. secs constant double precision not null := 94996756799.456789; t constant timestamp not null := to_timestamp(-secs) at time zone 'UTC'; fmt_1 constant text not null := 'TMDay / TMMonth'; fmt_2 constant text not null := 'TMDy dd-TMMon-yyyy hh24:mi:ss.us BC'; begin set lc_time = 'en_US'; z := to_char(t, fmt_1); return next; z := to_char(t, fmt_2); return next; z := ''; return next; set lc_time = 'it_IT'; z := to_char(t, fmt_1); return next; z := to_char(t, fmt_2); return next; z := ''; return next; set lc_time = 'fi_FI'; z := to_char(t, fmt_1); return next; z := to_char(t, fmt_2); return next; end; $body$; select z from to_char_demo(); …brings this result: Monday / September Mon 03-Sep-1042 12:00:00.543216 BC Lunedì / Settembre Lun 03-Set-1042 12:00:00.543216 BC Maanantai / Syyskuu Ma 03-Syy-1042 12:00:00.543216 BC But what do I use for, say, Simplified Chinese? Nothing that I guess works. And, unlike is the case with “set IntervalStyle”, a bad value doesn’t bring a hint (or a doc ref) that gives the LoV. The obvious search (LC_TIME in the search box of the PG doc for the current version) gets no useful hits. Nor does this: https://www.google.com/search?client=safari&rls=en&q=LC_TIME+site:https://www.postgresql.org/docs/13/&ie=UTF-8&oe=UTF-8 <https://www.google.com/search?client=safari&rls=en&q=LC_TIME+site:https://www.postgresql.org/docs/13/&ie=UTF-8&oe=UTF-8>