title: Unterminated dollar quote
body: <p>How to use IF statement in the PostgreSql (11 version)? I tried just raw IF usage but got problem (syntax error at or near “IF”). To resolve this problem people propose to use 'do &amp;&amp;' but it does not work as well (Unterminated dollar quote started at position 3 in SQL DO $$ BEGIN IF ......). Here is my SQL code:</p>
  
  <pre><code>DO $$
  BEGIN
    IF (NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'categories')) THEN
      CREATE TABLE IF NOT EXISTS categories
      (
        id   SERIAL NOT NULL,
        name character varying(40),
        CONSTRAINT categories_pkey PRIMARY KEY (id)
      );
  
      INSERT INTO categories (name) VALUES ('Games');
      INSERT INTO categories (name) VALUES ('Multimedia');
      INSERT INTO categories (name) VALUES ('Productivity');
      INSERT INTO categories (name) VALUES ('Tools');
      INSERT INTO categories (name) VALUES ('Health');
      INSERT INTO categories (name) VALUES ('Lifestyle');
      INSERT INTO categories (name) VALUES ('Other');
    END IF;
  END
  $$;
  </code></pre>
  
  <p>All I need is to create table and insert some init data to it if table does not exist.</p>