Page tree
Skip to end of metadata
Go to start of metadata

Play SQL is not affiliated with Heroku and it doesn't guarantee their services suit your needs. However, we recommend them because they're internationally recognized as the best platform for software development.

If your Confluence instance uses MS SQL, Oracle or MySQL, it may not be easy for you to install PostgreSQL, which is required to store Play SQL's data. That's why we're happy to give you a temporary online database hosted by:

Heroku may be a trademark, it's not clear from their docs, but if it's true, well,
it's a trademark. Or maybe a registred trademark or ... well, do inform yourself and respect the trademark please.

This is only temporary

The online database is only provided for your evaluation, because it costs us $9 per month. If you want to keep it, you can always take ownership of the Heroku database (and of the billing) or follow the instructions below to install it on your own servers.

The online database remains synchronized

You can click manually on the Synchronize button, or it will check every 12hrs whether the online database's credentials have changed.

What exactly is stored in the PostgreSQL database?

There is no coupling between Confluence's database (probably MS SQL in your situation) and Play SQL's database (PostgreSQL):
  • The Confluence data isn't coupled with Play SQL at all. It means, if the Postgres database is down, Confluence will keep working as usual without any defect. Only the Play SQL macros and the "Tables" tab will display an error message.
  • It also means that you would keep the Play SQL data if you completely erase Confluence, reinstall it from scratch, reinstall the Play SQL add-on and connect it to the same PostgreSQL database.
  • In fact you could have two Confluence instances connected to the same Play SQL database and it would work well, except that a few data (the structure of the tables) is temporarily cached in each Confluence instance.

How to move the database to your own servers?

Request the SQL back-up from us.

Create an empty Postgres database

The name and owner is up to you.

Play SQL requires a full database for the data, because it uses 1 schema per Confluence space.

On Linux / Mac OS X
createdb databasename

Import the data

On Linux/Mac OS X, the command is:

psql databasename < the-backup.sql

It will import the data with your current user as the default owner. It will show errors because it tries to set the table ownership to the original user of the Heroku database, but you can safely ignore those errors.

Enter the new connection details in Play SQL

Go to Confluence Administration > Play SQL > Databases (manual configuration) > General connection > Edit:

  • Choose "JDBC connection",
  • Enter your database details.
  • In the "space" field, pay attention that you need to use the default value: SPACE_[PERSONAL_]$spaceKey

Check everything works properly

You can check that you can edit an existing table or create a new one in Confluence.


JNDI is recommended: Play SQL will be faster and you'll be able to control more details about the connection. It requires changing the server.xml file on the server and restarting. There explanations are provided on this page: Declaring a JNDI datasource for Confluence.


If you want to perform this process once for test, then you can reimport the data again to be in sync with the latest version from Heroku:

dropdb databasename
createdb databasename
psql databasename < the-latest-backup.sql
  • No labels