Tatsuo Ishii <ishii@xxxxxxxxxxxx> writes: >>> According to the manualof RowDescription message >>> https://www.postgresql.org/docs/12/protocol-message-formats.html >>> Specifies the number of fields in a row (can be zero). >>> Does 0 fields could actually happen? >> Yes, e.g.: >> SELECT; > Thanks. Is it a valid SQL statement according to the standard? See select.sgml: <refsect2> <title>Empty <literal>SELECT</literal> Lists</title> <para> The list of output expressions after <literal>SELECT</literal> can be empty, producing a zero-column result table. This is not valid syntax according to the SQL standard. <productname>PostgreSQL</productname> allows it to be consistent with allowing zero-column tables. However, an empty list is not allowed when <literal>DISTINCT</literal> is used. </para> </refsect2> regards, tom lane