Types & Compatibility
GalaxDB speaks the PostgreSQL wire protocol and a compatible SQL dialect (AuroraSQL), but it is a different engine with a different feature set. This page is the honest reference for what works, what doesn't, and the type/OID mapping used over the wire.
Data Types
| GalaxDB Type | PostgreSQL OID name | Description |
|---|---|---|
| INT | int8 | 64-bit signed integer |
| TEXT | text | Variable-length UTF-8 string |
| FLOAT | float8 | 64-bit floating point |
| BOOL | bool | Boolean |
| BLOB | bytea | Binary data |
| TEXT EMBEDDING MODEL ... DIM n | text (+ hidden vector column) | Text column with an automatically computed float32[n] embedding |
Because GalaxDB maps its types onto standard PostgreSQL wire OIDs, existing psycopg2, SQLAlchemy, and pg (Node.js) client code decodes result rows without modification.
PostgreSQL Compatibility Matrix
| Feature | Status | Notes |
|---|---|---|
| PostgreSQL wire protocol | ✅ | Simple and extended query, prepared statements, parsed-statement cache |
| SELECT / joins / aggregates / GROUP BY / HAVING / DISTINCT / ORDER BY / LIMIT / OFFSET | ✅ | Standard SQL, runs on an embedded DataFusion engine |
| PRIMARY KEY | ✅ | Uniqueness enforced - SQLSTATE 23505 on duplicate, never a silent overwrite |
| Transactions (BEGIN/COMMIT/ROLLBACK, SAVEPOINT) | ✅ | Snapshot isolation, read-your-writes, write-write conflict detection (40001) |
| NOT NULL | 🟡 | Parsed but not enforced |
| CHECK constraints | 🟡 | Parsed but not enforced |
| UNIQUE (non-primary-key columns) | 🟡 | Parsed but not enforced |
| FOREIGN KEY | 🟡 | Parsed but not enforced |
| Single-column secondary indexes (CREATE/DROP INDEX) | ✅ | Full-scan fallback when no index exists |
| Multi-column indexes | ❌ | Not yet supported |
| Triggers / PL/pgSQL | ❌ | Not supported |
| Views | ❌ | Not supported |
| Sequences | ❌ | Not supported |
| pg_catalog | 🟡 | WHERE / projection / COUNT honored on the subset of catalog views implemented |
| COPY FROM STDIN / COPY TO STDOUT | ✅ | Bulk ingestion |
| RBAC (GRANT/REVOKE, table-level) | ✅ | SQLSTATE 42501 on insufficient privilege |
Not a Drop-in PostgreSQL Replacement
Warning
GalaxDB is not a drop-in PostgreSQL replacement. It supports enough of the wire protocol and SQL surface that PostgreSQL clients connect without code changes, but the constraint system, catalog surface, and procedural features (triggers, PL/pgSQL, views, sequences, multi-column indexes) are a work in progress. Check the matrix above before migrating an application that depends on constraint enforcement beyond PRIMARY KEY.