Can I use SELECT statement for values in a list partition? Or do I need to explicitly state them?
When in doubt, read the fine manual, which says about partition bounds:


  and partition_bound_spec is:

IN ( { numeric_literal | string_literal | TRUE | FALSE | NULL } [, ...] ) |
FROM ( { numeric_literal | string_literal | TRUE | FALSE | MINVALUE | MAXVALUE } [, ...] )
TO ( { numeric_literal | string_literal | TRUE | FALSE | MINVALUE | MAXVALUE } [, ...] )



Nowhere does it say "subselect"; only literal values and special keywords that substitute literal values are allowed.