Backend Database Migration From MySQL to PostgreSQL

We are running an n8n version from April (0.225.2) via npm and I just had a chance to read the release notes showing that MySQL is being depreciated. Is there a process that will migrate this data automatically once we have postgres running on our server, or will we have to migrate it manually?

1 Like

Hi @jhambach, I don’t think there will be an automated migration path, at least I am not aware of such plans.

So as a fallback I’d suggest using the CLI once MySQL support is actually removed. Run a full export of both workflows and credentials on your existing MySQL-powered instance, then import these on your new Postgres-powered instance.

The downside here is that the CLI does not yet account for permissions. So after such a migration you as the instance owner would have to share your workflows/credentials as needed with the relevant users.

2 Likes

Does it make any sense to preemptively move to Postgres before support for MySQL is ended?

For the permissions downside you mentioned, if all of our critical flows are under the owner account I would assume that there shouldn’t be an issue then?

We are thinking of getting postgres up and running to get the data synced, then changing the ecosystem config to postgres once we are ready. We’d just rather get migrated to postgres before the end of support for mysql.

Do you have a rough estimate when 1.0.1 will be released? I see it’s next right now, with 0.236 as the latest

Does it make any sense to preemptively move to Postgres before support for MySQL is ended?

It seems to me that MySQL migrations are often a bit tricky for us, so moving to PostgreSQL early is not a bad idea and might lead to a more stable overall experience when using n8n.

For the permissions downside you mentioned, if all of our critical flows are under the owner account I would assume that there shouldn’t be an issue then?

Yep, that will definitely simplify things :+1:

Do you have a rough estimate when 1.0.1 will be released? I see it’s next right now, with 0.236 as the latest

You can actually use it already if you want. Running something like sudo docker run -it --rm --name n8n -v ~/.n8n:/home/node/.n8n -p 5678:5678 n8nio/n8n:1.0.1 will set you up with n8[email protected]. It still needs a little more testing before it becomes latest though.

1 Like

Awesome, thanks for your reply. As always, you da man!

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.