PostgreSQL compatibility
Silos runs a real PostgreSQL engine, so standard SQL — DDL, DML, transactions, and MVCC — behaves like Postgres.
The Silos engine is genuine PostgreSQL compiled to WebAssembly — not a reimplementation and not a wire-compatible clone. SQL semantics are Postgres-native, which means the language, the type system, and the transactional behavior are the ones you already know.
What you get
DDL & DML
CREATE / ALTER / DROP, INSERT / UPDATE / DELETE, SELECT — the full SQL surface.
Transactions & MVCC
ACID transactions with multi-version concurrency control, just like Postgres.
Procedural SQL
PL/pgSQL functions, stored procedures, and triggers.
Views & queries
Views, CTEs (WITH), window functions, and the rest of the query surface.
Rich types
JSON / JSONB, arrays, and the standard Postgres type system.
Full-text search
tsvector / tsquery full-text search, built in.
Standard SQL works as expected
Because the engine is real Postgres, ordinary SQL behaves the way the PostgreSQL documentation describes:
CREATE TABLE users (
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
email text NOT NULL UNIQUE,
created_at timestamptz NOT NULL DEFAULT now()
);
INSERT INTO users (email) VALUES ('alice@example.com');
SELECT id, email, created_at FROM users ORDER BY created_at DESC;Transactions and concurrency
Transactions are ACID, and concurrency uses MVCC — readers don't block writers and writers don't block readers, exactly as in upstream Postgres.
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;The wire protocol
Silos implements the PostgreSQL frontend/backend protocol — the startup handshake,
SCRAM-SHA-256 authentication, TLS 1.3, and both the simple and
extended query flows (Parse / Bind / Execute). That's why standard drivers,
ORMs, and tools connect the same way they would to any Postgres. See
Connecting.
Silos is in active development. The SQL engine is real PostgreSQL and the wire protocol is implemented; we haven't published end-to-end compatibility benchmarks per client. The honest framing: standard SQL and standard clients work because the engine is Postgres — see Limitations for the genuine caveats.