title: What does exclusion constraint `EXCLUDE USING gist (c WITH &&)` mean?
body: <p>From PostgreSQL document</p>
  
  <blockquote>
    <p>Exclusion constraints ensure that if any two rows are compared on the
    specified columns or expressions using the specified operators, at
    least one of these operator comparisons will return false or null. The
    syntax is:</p>
  
  <pre><code>CREATE TABLE circles (
      c circle,
      EXCLUDE USING gist (c WITH &amp;&amp;)
  );
  </code></pre>
  </blockquote>
  
  <p>I was wondering what <code>EXCLUDE USING gist (c WITH &amp;&amp;)</code> means? In particular, <code>gist()</code>, <code>c WITH &amp;&amp;</code> and <code>EXCLUDE USING</code>. </p>
  
  <p>Can it be rewritten in terms of <code>check</code>? Thanks.</p>