Horiguchi-san pointed out [1] on a nearby thread that the partitioning syntax (the FOR VALUES clause) doesn't accept true and false as valid partition bound datums, which seems to me like an oversight. Attached a patch to fix that.
create table bools (a bool) partition by list (a);
Before patch:
create table bools_t partition of bools for values in (true); ERROR: syntax error at or near "true" LINE 1: ...reate table bools_t partition of bools for values in (true);
After:
create table bools_t partition of bools for values in (true); CREATE TABLE \d bools_t Table "public.bools_t" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- a | boolean | | | Partition of: bools FOR VALUES IN (true)