title: INSERT EXECUTE FORMAT Postgresql string
body: <p>I want to create a function which will update the table. </p>
  
  <p>I am trying to run it:</p>
  
  <pre><code>SELECT insert_function('asda', 1 ,1 , 'asd', 1)
  </code></pre>
  
  <p>But I get the error:</p>
  
  <blockquote>
    <p>LINE 3 VALUES("asda","1","1","asd","1") column doesn't exist.</p>
  </blockquote>
  
  <p>When I am trying rot run:</p>
  
  <blockquote>
    <p><code>SELECT insert_function('1', 1 ,1 , '1', 1)</code> zero-length delimited
    identifier at near """""""</p>
    
    <p>LINE 3 VALUES(""1"","1","1",""1"","1")
                  (^at the first item)</p>
  </blockquote>
  
  <pre><code>CREATE TABLE IF NOT EXISTS commits (
      id SERIAL PRIMARY KEY, 
      goo CHAR(64) NOT NULL, 
      foo INTEGER NOT NULL, 
      bla INTEGER NOT NULL, 
      ma CHAR(512) NOT NULL, 
      fgt INTEGER NOT NULL
  );
  
  CREATE OR REPLACE FUNCTION insert_function(goo char(64), foo INTEGER, bla INTEGER, ma CHAR(512), fgt INTEGER)
    RETURNS VOID AS
  $func$
  BEGIN
  EXECUTE format('
     INSERT INTO commits 
     VALUES(%I,  %I,  %I,  %I, %I)', 
     goo , foo , bla , ma , fgt );
  
  END
  $func$ LANGUAGE plpgsql;
  </code></pre>
  
  <p>Could you please tell me how can I insert values? How can I write the function with <code>EXECUTE format</code>? </p>