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).
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)