We've been using pgloader as part of our production workflows between RDBMS' for about a year now. Overall I am super impressed with the speed and reliability of it.<p>Some gotchas:<p>- MySQL to Postgres needs some massaging for int-types. Pgloader will convert MySQL bigint to type "numeric" by default - which is a bit of overkill.<p>- For issues like the above, they have a handy syntax for the pgloader template files which lets you do datatype casts on the fly. [1]<p>1 - <a href="https://pgloader.readthedocs.io/en/latest/ref/mysql.html#mysql-database-casting-rules" rel="nofollow">https://pgloader.readthedocs.io/en/latest/ref/mysql.html#mys...</a>
Pgloader is a great project, and I planned to use it for database migration of a small commercial product (from SQL Server).<p>Unfortunately, I never go it to work. Tried three different distros (Ubuntu / Debian / Amazon Linux). Sometimes installation would fail, other times it would crash on first run - even when following instructions to the letter.<p>When I finally got it to run, it could not connect to SQL Server, and no one on Github could help with my particular error message.<p>Ended up writing the migration code myself, which took only a few hours. The lesson: for a very simple migration, pgloader was actually overkill and a self-made solution did the job quicker.
I've noticed recently that Postgres is really gaining in popularity, especially as a MySQL alternative. Why is that? Is it because of Oracle's involvement in MySQL or has Postgres really improved in performance?
For those interested in learning more about PostreSQL, I'd recommend the book by the author of this tool[1]. It's bee a great resource for me. It's a great introduction to SQL with a focus on postgres.<p>(FWIW, it was called "Mastering PostgreSQL" when I bought it, but as far as I can tell, the site I linked is just an updated version).<p>1: <a href="https://theartofpostgresql.com/" rel="nofollow">https://theartofpostgresql.com/</a>
The author of this tool also appears to maintain a website[1] with information about migrating from MySQL to Postgres.<p>[1]: <a href="http://mysqltopgsql.com/" rel="nofollow">http://mysqltopgsql.com/</a>