This page covers PowerSync Cloud. For self-hosted PowerSync, refer to this section.
Create a PowerSync Instance
- In the Overview workspace of the PowerSync Dashboard, you will be prompted to create your first instance:

If you’ve previously created an instance in your project, you can create an additional instance by navigating to Manage instances and clicking Create new instance:
You can also create an entirely new project with its own set of instances. Click on the PowerSync icon in the top left corner of the Dashboard or on Admin Portal at the top of the Dashboard, and then click on Create Project.

- Give your instance a name, such as “Testing”.
- [Optional] You can change the default cloud region from US to EU, JP (Japan), AU (Australia) or BR (Brazil) if desired.
- Note: Additional cloud regions will be considered on request, especially for customers on our Enterprise plan. Please contact us if you need a different region.
- [Optional] You can opt in to using the
Next
version of the Service, which may contain early access or experimental features. Always use theStable
version in production. - Click Next.
Specify Connection Details
Each database provider has their quirks when it comes to specifying connection details, so we have documented database-specific and provider-specific instructions below:Postgres Provider Specifics
Select your Postgres hosting provider for steps to connect your newly-created PowerSync instance to your Postgres database:Supabase
Supabase
-
From your Supabase Dashboard, select Connect in the top navigation bar (or follow this link):
-
In the Direct connection section, copy the complete connection string (including the
[YOUR-PASSWORD]
placeholder) - Back in the PowerSync Dashboard, paste the connection string into the URI field. PowerSync will automatically parse this URI to populate the database connection details.
-
Update the Username and Password fields to use the
powersync_role
and password you created when configuring your Supabase for PowerSync (see Source Database Setup). -
Note: PowerSync includes Supabase’s CA certificate by default, so you can use
verify-full
SSL mode without additional configuration. - Your connection settings should look similar to this:

- Verify your setup by clicking Test Connection and resolve any errors.
- Click Next.
- PowerSync will detect the Supabase connection and prompt you to enable Supabase auth. To enable it, copy your JWT Secret from your project’s settings (JWT Keys section in the Supabase dashboard) and paste it here:
PowerSync is compatible with Supabase’s new JWT signing keys. See this Discord thread for details on how to configure auth on your connection if you are using these keys.
- Click Enable Supabase auth to finalize your connection settings.
You can update your instance settings by navigating to the Manage instances workspace, opening your instance options and selecting Edit instance.

Troubleshooting
Supabase is configured with a maximum of 4 logical replication slots, with one often used for Supabase Realtime.It is therefore easy to run out of replication slots, resulting in an error such as “All replication slots are in use” when deploying. To resolve this, delete inactive replication slots by running this query:AWS RDS
AWS RDS
- Locate the connection details from RDS:
- Copy the “Endpoint” value.
- Paste the endpoint into the “Host” field.
- Complete the remaining fields: “Name”, “Host”, “Port”, “Database name”, “Username”, “Password” and “SSL Mode” are required. You can paste a connection string into the “URI” field to simplify this.
- “Name” can be any name for the connection.
- “Port” is 5432 for Postgres databases.
- “Username” and “Password” maps to the
powersync_role
created in Source Database Setup. - PowerSync has the AWS RDS CA certificate pre-configured —
verify-full
SSL mode can be used directly, without any additional configuration required. - If you want to query your source database via the PowerSync Dashboard, enable “Allow querying data from the dashboard?”.
- Click “Test Connection” and fix any errors.
- Click “Save”.
Troubleshooting
If you get an error such as “IPs in this range are not supported”, the instance is likely not configured to be publicly accessible. A DNS lookup on the host should give a public IP, and not for example10.x.x.x
or 172.31.x.x
.Azure Postgres
Azure Postgres
- Fill in your connection details from Azure.
- “Name”, “Host”, “Port”, “Database name”, “Username”, “Password” and “SSL Mode” are required. You can also paste a connection string into the “URI” field to simplify data entry.
- “Name” can be any name for the connection.
- “Port” is 5432 for Postgres databases.
- “Username” and “Password” maps to the
powersync_role
created in Source Database Setup. - PowerSync has the Azure CA certificate pre-configured —
verify-full
SSL mode can be used directly, without any additional configuration required. - If you want to query your source database via the PowerSync Dashboard, enable “Allow querying data from the dashboard?”.
- Click “Test Connection” and fix any errors.
- If you encounter the error
"must be superuser or replication role to start walsender"
, ensure that you’ve followed all the steps for enabling logical replication documented here.
- If you encounter the error
- Click “Save”.
Google Cloud SQL
Google Cloud SQL
- Fill in your connection details from Google Cloud SQL.
- “Name”, “Host”, “Port”, “Database name”, “Username”, “Password” and “SSL Mode” are required. You can paste a connection string into the “URI” field to simplify data entry.
- “Name” can be any name for the connection.
- “Port” is 5432 for Postgres databases.
- “Username” and “Password” maps to the
powersync_role
created in Source Database Setup. - The server certificate can be downloaded from Google Cloud SQL.
- If SSL is enforced, a client certificate and key must also be created on Google Cloud SQL, and configured on the PowerSync instance.
- If you want to query your source database via the PowerSync Dashboard, enable “Allow querying data from the dashboard?”.
- Click “Test Connection” and fix any errors.
- Click “Save”.
Neon
Neon
- Fill in your connection details from Neon.
- “Name”, “Host”, “Port”, “Database name”, “Username”, “Password” and “SSL Mode” are required. You can paste a connection string into the “URI” field to simplify data entry.
- “Name” can be any name for the connection.
- “Port” is 5432 for Postgres databases.
- “Username” and “Password” maps to the
powersync_role
created in Source Database Setup. - Note that if you’re using a self-signed SSL certificate for your database server, click the “Download Certificate” button to dynamically fetch the recommended certificate directly from your server.
- Also note if you get any error such as
server certificate not trusted: SELF_SIGNED_CERT_IN_CHAIN
, click “Download Certificate” to attempt automatic resolution. - If you want to query your source database via the PowerSync Dashboard, enable “Allow querying data from the dashboard?”.
- Click “Test Connection” and fix any errors.
- Click “Save”.
Fly Postgres
Fly Postgres
- Fill in your connection details from Fly Postgres.
- “Name”, “Host”, “Port”, “Database name”, “Username”, “Password” and “SSL Mode” are required. You can paste a connection string into the “URI” field to simplify data entry.
- “Name” can be any name for the connection.
- “Port” is 5432 for Postgres databases.
- “Username” and “Password” maps to the
powersync_role
created in Source Database Setup. - Note that if you’re using a self-signed SSL certificate for your database server, click the “Download Certificate” button to dynamically fetch the recommended certificate directly from your server.
- Also note if you get any error such as
server certificate not trusted: SELF_SIGNED_CERT_IN_CHAIN
, click “Download Certificate” to attempt automatic resolution. - If you want to query your source database via the PowerSync Dashboard, enable “Allow querying data from the dashboard?”.
- Click “Test Connection” and fix any errors.
- Click “Save”.
PlanetScale
PlanetScale
- Head to your PlanetScale database dashboard page at
https://app.planetscale.com/<ORGANIZATION>/<DATABASE_NAME>
and click on the “Connect” button to get your database connection parameters.- In the PowerSync dashboard, “Name”, “Host”, “Port”, “Database name”, “Username” and “Password” are required.
- “Name” can be any name for the connection.
- “Host” is the
host
connection parameter for your database. - “Port” is 5432 for Postgres databases.
- “Username” and “Password” maps to the
powersync_role
created in Source Database Setup.- Important: PlanetScale requires your branch ID to be appended to your username. The username should be
powersync_role
.<branch_id>. Your PlanetScale branch ID can be found on the same connection details page.
- Important: PlanetScale requires your branch ID to be appended to your username. The username should be
- SSL Mode can remain the default
verify-full
. - If you want to query your source database via the PowerSync Dashboard, enable “Allow querying data from the dashboard?”.
- Click “Test Connection” and fix any errors.
- Click “Save”.
Other / Self-hosted
Other / Self-hosted
- Fill in your connection details.
- “Name”, “Host”, “Port”, “Database name”, “Username”, “Password” and “SSL Mode” are required. You can paste a connection string into the “URI” field to simplify data entry.
- “Name” can be any name for the connection.
- “Port” is 5432 for Postgres databases.
- “Username” and “Password” maps to the
powersync_role
created in Source Database Setup. - Note that if you’re using a self-signed SSL certificate for your database server, click the “Download Certificate” button to dynamically fetch the recommended certificate directly from your server.
- Also note if you get any error such as
server certificate not trusted: SELF_SIGNED_CERT_IN_CHAIN
, click “Download Certificate” to attempt automatic resolution. - If you want to query your source database via the PowerSync Dashboard, enable “Allow querying data from the dashboard?”.
- Click “Test Connection” and fix any errors.
- Click “Save”.
MongoDB Specifics
- Fill in your connection details from MongoDB:
- Copy your cluster’s connection string and paste it into the PowerSync instance URI field. PowerSync will automatically parse this URI to populate other connection details.
- The format should be
mongodb+srv://[username:password@]host/[database]
. For example,mongodb+srv://admin:<db_password>@cluster0.abcde1.mongodb.net/powersync
- The format should be
- Enter your database user’s password into the Password field. See the necessary permissions in Source Database Setup.
- “Database name” is the database in your cluster to replicate.
- Copy your cluster’s connection string and paste it into the PowerSync instance URI field. PowerSync will automatically parse this URI to populate other connection details.
- Click “Test Connection” and fix any errors. If have any issues connecting, reach out to our support engineers on our Discord server or otherwise contact us.
- Make sure that your database allows access to PowerSync’s IPs — see Security and IP Filtering
- Click “Save”.
MySQL (Beta) Specifics
Select your MySQL hosting provider for steps to connect your newly-created PowerSync instance to your MySQL database:AWS Aurora
AWS Aurora
To enable binary logging and GTID replication in AWS Aurora, you need to create a DB Parameter Group
and configure it with the necessary parameters. Follow these steps:
- Navigate to Amazon RDS console
In the navigation pane, choose Parameter groups and click on
Create Parameter Group
. - Add all the required binlog configuration parameters. For example:
- Associate your newly created parameter group with your Aurora cluster:
- In the navigation pane, choose Databases.
- Select your Aurora cluster.
- Choose Modify.
- In the DB Parameter Group section, select the parameter group you created.
- Click Continue and then Apply immediately.
- Whitelist PowerSync’s IPs in your Aurora cluster’s security group to allow access. See Security and IP Filtering for more details.
Other / Self-hosted
Other / Self-hosted
Fill in your MySQL connection details:
- “Name”, “Host”, “Port”, “Database name”, “Username”, “Password” are required.
- “Name” can be any name for the connection.
- “Host” the endpoint for your database.
- “Database name” is the default database to replicate. Additional databases are derived by qualifying the tables in the sync rules.
- “Username” and “Password” maps to your database user.
- If you want to query your source database via the PowerSync Dashboard, enable “Allow querying data from the dashboard?”.
- Click “Test Connection” and fix any errors.
- Click “Save”.
Make sure that your MySQL database allows access to PowerSync’s IPs — see Security and IP Filtering