s the primary message text.
   </p><p>
    You will also frequently see this older style, with an extra set of
    parentheses surrounding the auxiliary function calls:
</p><pre class="programlisting">
ereport(ERROR,
        (errcode(ERRCODE_DIVISION_BY_ZERO),
         errmsg("division by zero")));
</pre><p>
    The extra parentheses were required
    before <span class="productname">PostgreSQL</span> version 12, but are now
    optional.
   </p><p>
    Here is a more complex example:
</p><pre class="progra