title: Why does PostgreSQL throw "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions"
body: <p>Trying to join 2 tables with an OR condition like this:</p>
  
  <pre><code>FULL JOIN table1
       ON (replace(split_part(table1.contract_award_number::text, ' '::text, 2), '-'::text, ''::text)) = table2.contract_award_id 
  
       OR (btrim(replace(table1.solicitation_number::text, '-'::text, ''::text))) = table2.solicitation_id
  </code></pre>
  
  <p>But Postgresql is barking at me with:</p>
  
  <pre><code>FULL JOIN is only supported with merge-joinable or hash-joinable join conditions
  </code></pre>
  
  <p>What gives? For some reason if I add the condition:</p>
  
  <pre><code>WHERE table1.solicitation_number::text ~~ '%%'::text 
  </code></pre>
  
  <p>the error doesn't occur, but I suspect this is fouling up the FULL JOIN result.</p>
  
  <p>Thanks for any help.</p>