Cluster migration can be done in different ways depending on requirements and plans.
It is possible to upgrade/downgrade automatically and seamlessly between shared plans. Go to the ElephantSQL control panel and press Edit and change plan type.
There are a couple of options if you would like to migrate between dedicated plans.
A fork creates a new instance with all the current state of your existing instance. Go to the ElephantSQL control panel and press Fork on any dedicated instance or create a new dedicated instance and select Fork in the Configuration step. You can fork from your active ElephantSQL instances or by providing a postgres url.
You are also able to fork a new ElephantSQL instance from any
PostgreSQL server. Just grab your connection URL and we will fork the
current state into a fully managed instance.
We will set up a replication connection via
and promote the new instance once all State has been restored.
One import thing to note is that the credentials in the connection URL must be
from either a superuser or a role with replication privileges.
When you create new instances as a point in time recovery of a running instance you can set a time in the future(!) (or past) when the new instance should stop waiting for more WALs and be promoted.
This option works for migration between shared and dedicated instances.
Automated backups are performed every day on all dedicated plans (pg_dump). These are all accessible to you from the ElephantSQL control panel for 30 days.
For shared plans, you need to initiate the backup.
All backups are compressed with lzop. To restore the data you can
usually use the following command:
lzop -cd "$FILE_NAME" | psql "$DATABASE_URL"
A backup API is available, that allows you to list, create, and restore from backups programmatically.