title: PostgreSQL pg_constraint's confupdtype / confdeltype columns using undocumented letter (space). What does it mean?
body: <p>The doc at <a href="https://www.postgresql.org/docs/current/catalog-pg-constraint.html" rel="nofollow noreferrer">https://www.postgresql.org/docs/current/catalog-pg-constraint.html</a> says:</p>
  <blockquote>
  <p>Foreign key update action code: <strong>a</strong> = no action, <strong>r</strong> = restrict, <strong>c</strong> = cascade, <strong>n</strong> = set null, <strong>d</strong> = set default</p>
  </blockquote>
  <p>And does not mention a <em>space</em> at all. But it actually uses a space (ascii code 32) a lot:</p>
  <pre><code>ddevienne=&gt; select '&quot;'||confdeltype||'&quot;', count(*) from pg_constraint group by confdeltype;
   ?column? | count
  ----------+-------
   &quot;a&quot;      |   242
   &quot;c&quot;      |   941
   &quot; &quot;      |  2210
   &quot;n&quot;      |   201
  (4 rows)
  Time: 3.968 ms
  </code></pre>
  <p>So what does that <em>space</em> mean? And why is it not documented?<br />
  I'm using PostgreSQL v12, but the doc is the same for v12 and v14 in that regard.</p>
  <p><strong>Update (given the accepted answer):</strong>
  Looking at Foreign Key constraints only (<code>contype = 'f'</code>) does get rid of the <em>spaces</em> indeed.</p>
  <pre><code>ddevienne=&gt; select '&quot;'||confdeltype||'&quot;', count(*) from pg_constraint where contype = 'f' group by confdeltype;
   ?column? | count
  ----------+-------
   &quot;a&quot;      |   242
   &quot;c&quot;      |   941
   &quot;n&quot;      |   201
  (3 rows)
  Time: 4.124 ms
  ddevienne=&gt; select '&quot;'||confupdtype||'&quot;', count(*) from pg_constraint where contype = 'f' group by confupdtype;
   ?column? | count
  ----------+-------
   &quot;a&quot;      |  1381
   &quot;c&quot;      |     2
   &quot;n&quot;      |     1
  (3 rows)
  Time: 3.361 ms
  </code></pre>