Skip to content

Commit 9ae4364

Browse files
author
Daniele Briggi
committed
chore: typos readme
1 parent 645917b commit 9ae4364

File tree

2 files changed

+29
-22
lines changed

2 files changed

+29
-22
lines changed

docs/postgresql/README.md

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
# Architecture Overview
22

33
The **SQLite AI offline-sync solution** consists of three main components:
4-
* **sqlite-sync**: Native client-side SQLite extension
5-
* **cloud-sync**: Synchronization microservice
6-
* **postgres-sync**: Native PostgreSQL extension
4+
* **SQLite Sync**: Native client-side SQLite extension
5+
* **CloudSync**: Synchronization microservice
6+
* **Postgres Sync**: Native PostgreSQL extension
77

88
Together, these components provide a complete, production-grade **offline-first synchronization stack** for SQLite and PostgreSQL.
99

10-
# sqlite-sync
10+
# SQLite Sync
1111

12-
**sqlite-sync** is a native SQLite extension that must be installed and loaded on all client devices.
12+
**SQLite Sync** is a native SQLite extension that must be installed and loaded on all client devices.
1313
We provide prebuilt binaries for:
1414
* Desktop and mobile platforms
1515
* WebAssembly (WASM)
1616
* Popular frameworks including React, Expo, npm, and more
1717

18-
**Note:** The latest version (v0.9.96) is not yet available in the official sqlite-sync repository. Please use our development fork instead:[https://github.com/sqliteai/sqlite-sync-dev](https://github.com/sqliteai/sqlite-sync-dev)
18+
**Note:** The latest version (v0.9.96) is not yet available in the official SQLite Sync repository. Please use our development fork instead:[https://github.com/sqliteai/sqlite-sync-dev](https://github.com/sqliteai/sqlite-sync-dev)
1919

2020
### Architecture Refactoring
2121
The extension has been refactored to support both **SQLite** and **PostgreSQL** backends.
22-
* All database-specific native calls have been isolated in database.h
22+
* All database-specific native calls have been isolated in [database.h](../../src/database.h)
2323
* Each database engine implements its own engine-dependent layer
2424
* The core **CRDT logic** is fully shared across engines
2525

@@ -35,7 +35,7 @@ Key Features
3535
* Cross-platform, language-agnostic payload format
3636
* Works seamlessly in any framework or programming language
3737

38-
Unlike other offline-sync solutions, **sqlite-sync embeds networking directly inside SQLite**, eliminating external sync SDKs.
38+
Unlike other offline-sync solutions, **SQLite Sync embeds networking directly inside SQLite**, eliminating external sync SDKs.
3939

4040
### Supported CRDTs
4141
Currently implemented CRDT algorithms:
@@ -46,12 +46,12 @@ Additional CRDTs can be implemented if needed, though LWW covers most real-world
4646

4747

4848

49-
# cloud-sync
49+
# CloudSync
5050

51-
**cloudsync** is a lightweight, stateless microservice responsible for synchronizing clients with central servers.
51+
**CloudSync** is a lightweight, stateless microservice responsible for synchronizing clients with central servers.
5252
### Responsibilities
5353
* Synchronizes clients with:
54-
* **SQLiteCloud servers**
54+
* **SQLite Cloud servers**
5555
* **PostgreSQL servers**
5656
* Manages upload and download of CRDT payloads
5757
* Stores payloads via **AWS S3**
@@ -73,46 +73,51 @@ Technology Stack
7373

7474
Observability
7575

76-
* Metrics dashboard available in grafana-dashboard.json
76+
* Metrics dashboard available in [grafana-dashboard.json](grafana-dashboard.json)
7777

7878
* Additional logs available via the Fly.io monitoring dashboard
7979

8080

8181

8282
Demo Deployment
83-
For the current demo, a single cloudsync node is deployed in **Europe** on Fly.io.
84-
If testing from other regions, latency will reflect this single-node deployment.
 A production deployment would use **geographically distributed nodes with regional routing** for global coverage.
8583

84+
For the current demo, a single CloudSYnc node is deployed in **Europe** on Fly.io.
85+
If testing from other regions, latency will reflect this single-node deployment. A production deployment would use **geographically distributed nodes with regional routing** for global coverage.
8686

8787

88-
# postgres-sync
8988

90-
**postgres-sync** is a native PostgreSQL extension derived from sqlite-sync.
89+
# Postgres Sync
90+
91+
**Postgres Sync** is a native PostgreSQL extension derived from SQLite Sync.
9192
### Features
92-
* Implements the same CRDT algorithms available in sqlite-sync
93+
* Implements the same CRDT algorithms available in SQLite Sync
9394
* Applies CRDT logic to:
9495
* Changes coming from synchronized clients
9596
* Changes made directly in PostgreSQL (CLI, Drizzle, dashboards, etc.)
9697

9798
This ensures **full bidirectional consistency**, regardless of where changes originate.
9899

99100
### Schema Handling
100-
SQLite does not support schemas, while PostgreSQL does.
To bridge this difference, postgres-sync introduces a mechanism to:
101+
SQLite does not support schemas, while PostgreSQL does. To bridge this difference, Postgres Sync introduces a mechanism to:
102+
101103
* Associate each synchronized table with a specific PostgreSQL schema
102104
* Allow different schemas per table
105+
103106
This preserves PostgreSQL-native organization while maintaining SQLite compatibility.
104107

105108

106109

107110
# Current Limitations
108111

109112
The PostgreSQL integration is actively evolving. Current limitations include:
110-
* **User Impersonation**
: The microservice currently applies server changes using the Supabase Admin user. 
In the next version, changes will be applied under the identity associated with the client’s JWT.
111-
* **Table Creation**
: Tables must currently be created manually in PostgreSQL before synchronization.
 We are implementing automatic translation of SQLite CREATE TABLE statements to PostgreSQL syntax.
112-
* **Row-Level Security**: RLS is fully implemented for SQLiteCloud servers.
PostgreSQL RLS integration is in progress and will be included in the final release.
113-
* **Beta Status**
: While extensively tested, the PostgreSQL sync stack should currently be considered **beta software**. Please report any issues, we are committed to resolving them quickly.
113+
114+
* **User Impersonation**: The microservice currently applies server changes using the Supabase Admin user. In the next version, changes will be applied under the identity associated with the client’s JWT.
115+
* **Table Creation**: Tables must currently be created manually in PostgreSQL before synchronization. We are implementing automatic translation of SQLite CREATE TABLE statements to PostgreSQL syntax.
116+
* **Row-Level Security**: RLS is fully implemented for SQLite Cloud servers.PostgreSQL RLS integration is in progress and will be included in the final release.
117+
* **Beta Status**: While extensively tested, the PostgreSQL sync stack should currently be considered **beta software**. Please report any issues, we are committed to resolving them quickly.
114118

115119
# Next
116120
* [CLIENT](CLIENT.md) installation and setup
117121
* [CLOUDSYNC](CLOUDSYNC.md) microservice configuration and setup
118122
* [SUPABASE](SUPABASE.md) configuration and setup
123+
* [SPORT-TRACKER APP](SPORT_APP_README_SUPABASE.md) demo web app based on SQLite Sync WASM

docs/postgresql/SPORT_APP_README_SUPABASE.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ A Vite/React demonstration app showcasing [**SQLite Sync (Dev)**](https://github
44

55
> This app uses the packed WASM version of SQLite with the [SQLite Sync extension enabled](https://www.npmjs.com/package/@sqliteai/sqlite-wasm).
66
7+
**The source code is located in [examples/sport-tracker-app](../../examples/sport-tracker-app/)**
8+
79
## Setup Instructions
810

911
### 1. Prerequisites

0 commit comments

Comments
 (0)