title: Operator does not exist: character varying = character varying[]
body: <p>As you can see in my SQL request I have a subquery which returns string array (<code>varchar[]</code>). I am trying to filter <code>table_1</code> values by this array which I pass in <code>ANY</code> command. For some reason I see this error:</p>
  <blockquote>
  <p>ERROR: operator does not exist: character varying = character varying[]
  No operator matches the given name and argument types. You might need to add explicit type casts.</p>
  </blockquote>
  <p>The data types of <code>table_1.column_a</code> and <code>table_2.column_a</code> columns are <code>varchar</code>.</p>
  <p>PostgreSQL version: <code>11.4</code></p>
  <p>Where did I make a mistake?</p>
  <pre><code>select
      table_1.*
  from
      table_1
  where
      table_1.column_a = any(
          select
              array_agg(table_2.column_a)
          from
              table_2
      )
  </code></pre>
  <p>Of course, I can use such code, but I want to know the reason for the error in the first query:</p>
  <pre><code>select
      table_1.*
  from
      table_1
  where
      table_1.column_a in(
          select
              table_2.column_a
          from
              table_2
      )
  </code></pre>