Avoid the complexities of using APIs to move app state over the network. Get super-fast, always-available offline-first/local-first apps.
PowerSync connects to your Postgres database over TCP with read access to all synced tables and permissions to consume logical replication slots.
A logical replication publication is created, including the tables referenced in your Sync Rules.
PowerSync automatically handles most schema change scenarios in Postgres, with no need for client-side migrations.
PowerSync consumes a logical replication slot to detect row-level INSERT, UPDATE, and DELETE operations in Postgres.
The PowerSync Service tracks changes to data in the buckets, allowing for efficient delta syncing to clients.
You define Sync Rules which determine which data is synced to which users. Data is grouped into buckets which can be shared between users to avoid duplication.
Clients authenticate against the PowerSync Service using JWTs.
The client SDK initially downloads all relevant data and then incrementally keeps it updated, in real time.
Writes are immediately applied locally, and queued for upload to your backend API. The PowerSync client SDK automatically handles failures and retries.
On the client, data is persisted to a SQLite database in schemaless format. The application defines a client-side schema which is applied as SQLite views for easy structured querying.
Live reactive queries can be used to update the UI when data changes.
PowerSync uses a server-authoritative architecture with a checkpoint system to guarantee consistency.
Your backend accepts uploaded writes and then applies them to your Postgres database.
PowerSync connects to your Postgres database over TCP with read access to all synced tables and permissions to consume logical replication slots.
A logical replication publication is created, including the tables referenced in your Sync Rules.
PowerSync automatically handles most schema change scenarios in Postgres, with no need for client-side migrations.
PowerSync consumes a logical replication slot to detect row-level INSERT, UPDATE, and DELETE operations in Postgres.
You define Sync Rules which determine which data is synced to which users. Data is grouped into buckets which can be shared between users to avoid duplication.
The PowerSync Service tracks changes to data in the buckets, allowing for efficient delta syncing to clients.
Clients authenticate against the PowerSync Service using JWTs.
The client SDK initially downloads all relevant data and then incrementally keeps it updated, in real time.
On the client, data is persisted to a SQLite database in schemaless format. The application defines a client-side schema which is applied as SQLite views for easy structured querying.
Writes are immediately applied locally, and queued for upload to your backend API. The PowerSync client SDK automatically handles failures and retries.
Live reactive queries can be used to update the UI when data changes.
PowerSync uses a server-authoritative architecture with a checkpoint system to guarantee consistency.
Your backend accepts uploaded writes and then applies them to your Postgres database.