title: Postgresql ON CONFLICT in sqlalchemy
body: <p>I've read quite a few resources (ao. <a href="https://bitbucket.org/zzzeek/sqlalchemy/issues/3529/support-postgres-95-on-conflict-upserts" rel="noreferrer">1</a>, <a href="https://stackoverflow.com/questions/17267417/how-do-i-do-an-upsert-merge-insert-on-duplicate-update-in-postgresql">2</a>) but I'm unable to get Postgresql's ON CONFLICT IGNORE behaviour working in sqlalchemy.</p>
  
  <p>I've used <a href="https://stackoverflow.com/questions/6611563/sqlalchemy-on-duplicate-key-update">this accepted answer</a> as a basis, but it gives</p>
  
  <pre><code>SAWarning: Can't validate argument 'append_string'; can't locate any SQLAlchemy dialect named 'append'
  </code></pre>
  
  <p>I've tried adding the postgresql dialect to the @compile clause, renaming my object, but it doesn't work.
  I also tried to use the <code>str(insert())+ " ON CONFILCT IGNORE"</code> without results. (not surprising btw)</p>
  
  <p>How can I get the <code>On CONFLICT IGNORE</code> to get added to my inserts? I like the proposed solution, as I can see myself not wanting the <code>IGNORE</code> behaviour on each <code>INSERT</code></p>
  
  <p>ps. using python 2.7 (don't mind upgrading to 3.4/3.5), latest sqlalchemy (1.x)</p>