The following bug has been logged on the website:
Bug reference: 19418
Logged by: Lukas Eder
Email address: lukas.eder@gmail.com
PostgreSQL version: 18.2
Operating system: Linux
Description:
When using the ISO/IEC 9075-2:2023(E) 6.34 <JSON value constructor by query>
syntax, 6.34 GR 4) b) i) says that empty tables should produce a JSON array
with no elements (intuitively), not NULL.
Try this:
select json_array(select 1 where false);
It produces NULL, not []