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: