Deploy
Configure your database

Configure Your Database

ReadySet has been verified to work with:

  • AWS RDS
  • Azure Database
  • Google Cloud SQL

We've linked to instructions for setting each variable on AWS RDS. Many of the settings discussed below have equivalents on non-AWS database providers.

If you have another MySQL or Postgres provider you'd like help configuring, contact ReadySet (opens in a new tab).

To ensure you have the correct permissions set, run the following commands as the user you will use ReadySet with.
1. Ensure Postgres version 13.0 or higher is running.

testdb=> SELECT version();
      version
-----------------------
 PostgreSQL 14.8
(1 row)
 

2. Make sure replication is enabled.

testdb=> SHOW WAL_LEVEL;
 wal_level
-----------
 logical
(1 row)

LOGICAL is required to ensure sufficient data is present in the replication stream.

3. Ensure superuser permissions are enabled

ReadySet uses superuser access to be notified of changes to table DDL.

testdb=> SELECT * FROM pg_user where usename = CURRENT_USER;
 usename  | usesysid | usecreatedb | usesuper | userepl | usebypassrls |  passwd  | valuntil | useconfig
----------+----------+-------------+----------+---------+--------------+----------+----------+-----------
 postgres |       10 | t           | t        | t       | t            | ******** |          |
(1 row)

Ensure the usesuper variable is true.

Unsupported features

Some Postgres features, like row-level security, are not supported. Disable these features on any tables replicated by ReadySet before proceeding.

AWS RDS-only configuration

1. Enabling logical replication.

RDS has a custom method for setting logical replication to be on.

testdb=> SELECT name,setting FROM pg_settings WHERE name = 'rds.logical_replication'
          name           | setting
-------------------------+---------
 rds.logical_replication | on

If rds.logical_replication is not on, set it by following this guide (opens in a new tab)