title: Dapper parameters not working with PostgreSQL through npgsql connection, is postgres anonymous function parameterization supported?
body: <p>I'm trying to use dapper to parameterize a postgres anonymous function i've written to do an upsert. Here's the code:</p>
  
  <pre><code>private static int UpsertProductPrice(
          IDbConnection connection,
          Data.ProductPrice price,
          List&lt;Data.ProductPriceTier&gt; priceTiers)
      {
          string postgres = @"DO $$
          BEGIN 
          UPDATE product_price 
              SET start_date = @StartDate, end_date = @EndDate, price_tier_type = @PriceTierType
              WHERE product_price_external_id = @Id;
          IF found THEN
              RETURN;
          END IF;
          BEGIN
              INSERT INTO product_price(product_price_external_id, start_date, end_date, price_tier_type) 
              VALUES (@Id, @StartDate, @EndDate, @PriceTierType);
              RETURN;
          EXCEPTION WHEN unique_violation THEN END; END$$;";
  
          int productPriceId = connection.Execute(
              postgres,
              new { Id = price.product_price_external_id, StartDate = price.start_date, EndDate = price.end_date, PriceTierType = price.price_tier_type });
  </code></pre>
  
  <p>Postgres logs the query as unparameterized: there are still @ signs and no values were inserted. Here's the log.</p>
  
  <pre><code>2015-07-15 14:57:58.570 EDT,"user","TestDb",8496,"::1:53953",55a6ad36.2130,1,"DO",2015-07-15 14:57:58 EDT,9/42,0,ERROR,42703,"column ""startdate"" does not exist",,,"UPDATE product_price 
  
              SET start_date = @StartDate, end_date = @EndDate, price_tier_type = @PriceTierType
  
              WHERE product_price_external_id = @Id",52,"PL/pgSQL function inline_code_block line 3 at SQL statement","DO $$
  
          BEGIN 
  
          UPDATE product_price 
  
              SET start_date = @StartDate, end_date = @EndDate, price_tier_type = @PriceTierType
  
              WHERE product_price_external_id = @Id;
  
          IF found THEN
  
              RETURN;
  
          END IF;
  
          BEGIN
  
              INSERT INTO product_price(product_price_external_id, start_date, end_date, price_tier_type) 
  
              VALUES (@Id, @StartDate, @EndDate, @PriceTierType);
  
              RETURN;
  
          EXCEPTION WHEN unique_violation THEN END; END$$;",,,""
  </code></pre>
  
  <p>I'm I doing something wrong, or is this not supported? I couldn't find anyone trying to do this online.</p>