title: Bulk update using MERGE without a temporary table
body: <p>In a preview version of Entity Framework 7, a .NET ORM, bulk inserts for SQL Server are designed to be executed in a single SQL command (one roundtrip to the db):</p>
  <pre><code>MERGE [Blogs] USING (
        VALUES (@p0, 0),
        (@p1, 1),
        (@p2, 2),
        (@p3, 3)) AS i ([Name], _Position) ON 1=0
        WHEN NOT MATCHED THEN
        INSERT ([Name])
        VALUES (i.[Name])
        OUTPUT INSERTED.[Id], i._Position;
  </code></pre>
  <p>This command inserts new rows with values in the <code>Name</code> column, in the <code>Blogs</code> table, and returns their <code>Ids</code>.</p>
  <p>Is there a way to do bulk update like this in PostgreSQL? Without creating a temporary table and running select after the merge?</p>