You can, of course, trivially make that so in your own database. =# create function to_char(date, text) returns text language sql stable strict parallel safe as 'select pg_catalog.to_char($1::timestamp without time zone, $2)'; =# select to_char(current_date, 'dd-Mon-yyyy TZH:TZM'); to_char -------------------- 22-Oct-2021 +00:00 (1 row) Regardless of whether the original choice not to have this variant was intentional or an oversight, I'd be pretty loath to change it now because of backwards compatibility. But Postgres is adaptable. regards, tom lane
Going down that path I would be sorely tempted to default the format text to the style I typically want.
create function to_char(dt date, fmt text default 'dd-Mon-yyyy TZH:TZM') returns text