title: plpgsql: No function matches the given name and argument types. You might need to add explicit type casts
body: <p>I've created a stored procedure in PostgreSQL using DBeaver.
  &amp; I'm trying to insert data into table by calling the procedure from DBeaver.
  But it's giving me an error </p>
  
  <blockquote>
    <p>SQL Error [42883]: ERROR: function public.proc_insert_test(integer, unknown, unknown, unknown, unknown, timestamp with time zone, integer, integer, integer, timestamp with time zone) does not exist
      Hint: No function matches the given name and argument types. You might need to add explicit type casts.
      Position: 8</p>
  </blockquote>
  
  <p>Procedure:</p>
  
  <pre><code>CREATE OR REPLACE FUNCTION public.proc_insert_test(p_brndcode integer, 
                                                  p_brndname varchar(100), 
                                                  p_brndsname varchar(100), 
                                                  p_prdtype char(1),
                                                  p_discontinue char(1),
                                                  p_crddate date,
                                                  p_status integer,
                                                  p_recstat integer,
                                                  p_brndgrpseqno integer,
                                                  p_wefrom date)
  RETURNS char 
  LANGUAGE plpgsql
  AS $body$
  BEGIN
      Insert into arc_mmstbrndgroup(brndcode, brndname, brndsname, prdtype, discontinue, crddate, status, recstat, brndgrpseqno, wefrom) 
      values(p_brndcode, p_brndname, p_brndsname, p_prdtype, p_discontinue, p_crddate, p_status, p_recstat, p_brndgrpseqno, p_wefrom);
  END;
  $body$
  ;
  </code></pre>
  
  <p>Calling the procedure:</p>
  
  <pre><code>select public.proc_insert_test(123, 'Test2', 'Test2', 'T', 'T', now(), 1, 9, 1234, now());
  </code></pre>
  
  <p>What can be the issue? </p>
  
  <p>I'm totally new to this.</p>
  
  <p><strong>Update:</strong></p>
  
  <p>Procedure calling:</p>
  
  <pre><code>select public.proc_insert_test(123, 'Test2'::varchar(100), 'Test2'::varchar(100), 'T'::char(1), 'T'::char(1), now(), 1, 9, 1234, now());
  </code></pre>
  
  <p>Error:</p>
  
  <blockquote>
    <p>SQL Error [42883]: ERROR: function public.proc_insert_test(integer, character varying, character varying, character, character, timestamp with time zone, integer, integer, integer, timestamp with time zone) does not exist
      Hint: No function matches the given name and argument types. You might need to add explicit type casts.
      Position: 8</p>
  </blockquote>
  
  <p><a href="https://i.stack.imgur.com/z3RF3.png" rel="noreferrer"><img src="https://i.stack.imgur.com/z3RF3.png" alt="Procedure"></a>
  <a href="https://i.stack.imgur.com/LltbD.png" rel="noreferrer"><img src="https://i.stack.imgur.com/LltbD.png" alt="Procedure calling"></a></p>