Note that there are some explanatory texts on larger screens.

plurals
  1. POMigrating MySQL to PostgreSQL - what features not visible in SQL code will be important?
    primarykey
    data
    text
    <p>We're migrating MySQL to PostgreSQL. I can easily audit the schema and the SQL statements used throughout the (REALbasic) program. Most of the SQL is composed by building string variables. </p> <p>I already know about needing to replace our use of <code>SELECT LAST_INSERT_ID()</code> with a SERIAL column with UNIQUE constraint.</p> <p>What, <em>if any</em>, differences between the two which are <strong>not</strong> obviously visible in SQL statements might bite us? I'm looking for (probably subtle) assumptions about behaviour such as any differences in autocommit, need to add constraints which aren't in MySQL etc.</p> <p>I'm trying to tease out any gotchas for a couple of reasonably smart, attentive guys who aren't gurus in either of the databases.</p> <p>This is a one-way commitment so if there are major benefits we will get by adding new declarations I'd appreciate them pointing out.</p> <p>Note: we're not using any form of parameterised queries and, yes, I've pointed out issues with injection attacks as a required audit of the code.</p> <p>Yes, for the curious, this decision was prompted by GPL issues, not that we're averse to paying for licenses but, unfortunately, the sole REALbasic driver for MySQL was GPL. As of May 2009, Real Software have released a new Community driver which is GPL, and properly includes source. They have promised a non-GPL Enterprise driver in the near future.</p> <p>I am prepared to believe that the answer might be <em>there are no invisible monsters under the bed</em> but thought I'd ask to be sure.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload