GalaxDB logo

Windows

GalaxDB's relational, analytical, transactional, storage, and vector-search engine is fully native on Windows - the server is cross-platform Rust (rustls for TLS, no OpenSSL dependency), and CI builds galaxdb-server on a native Windows runner on every change. The Python client ships a native win_amd64 wheel.

Note

The embedding sidecar (galaxdb-sidecar) uses Unix-domain sockets, so it does not run natively on Windows. Run it under WSL2 or Docker if you need live embedding generation. See Embeddings on Windows below.

Python Client

The fastest way to use GalaxDB on Windows. Embedded mode and the remote client both work out of the box - no server required for embedded mode.

bash
pip install galaxdb-client

Requires Python 3.9+. A pre-built native win_amd64 wheel is published, so no Rust toolchain is needed.

Python
import galaxdb

# Embedded mode - no server needed, works natively on Windows
db = galaxdb.Database("./mydata")
db.execute("CREATE TABLE t (id INT PRIMARY KEY, name TEXT)")
db.execute("INSERT INTO t (id, name) VALUES (1, 'Alice')")
rows = db.execute("SELECT * FROM t")

# Server mode - connect to a galaxdb-server instance
conn = galaxdb.connect("host=localhost port=5433 dbname=galaxdb sslmode=disable")
conn.execute("SELECT * FROM t")

Server via Docker Desktop (WSL2)

The simplest way to run the full galaxdb-server - including the embedding sidecar - on Windows is Docker Desktop with the WSL2 backend.

  1. Install Docker Desktop and enable the WSL2 backend (Settings → General → "Use the WSL 2 based engine").
  2. Run the official image:
bash
docker run -d \
  -p 5433:5433 \
  -p 9090:9090 \
  -v galaxdb_data:/data \
  harbi256/galaxdb:latest \
  --data-dir /data

With embeddings (mount the HuggingFace cache to avoid re-downloading the model):

bash
docker run -d \
  -p 5433:5433 \
  -p 9090:9090 \
  -v galaxdb_data:/data \
  -v huggingface_cache:/root/.cache/huggingface \
  harbi256/galaxdb:latest \
  --data-dir /data \
  --sidecar /usr/local/bin/galaxdb-sidecar \
  --model sentence-transformers/all-MiniLM-L6-v2

Any PostgreSQL client on Windows - psycopg2, SQLAlchemy, pg (Node.js), JDBC - connects to localhost:5433 without modification.

Native Server Binary

A native galaxdb-server-windows-x86_64.exe is attached to each release on the GitHub Releases page. This runs the full relational, analytical, transactional, storage, and vector-search engine directly on Windows - no WSL2 or Docker required for the core database.

bash
# From PowerShell, after downloading the release asset
.\galaxdb-server-windows-x86_64.exe --data-dir .\data --port 5433 --observe-port 9090

Note

The Linux-only io_uring storage backend automatically falls back to the cross-platform tokio backend on Windows. No configuration is needed.

Embeddings on Windows

EMBEDDING MODEL columns and live SEMANTIC_MATCH generation depend on the embedding sidecar, which uses Unix-domain sockets and is therefore Unix-only. To use these features on Windows, run the sidecar under WSL2 or Docker (see Server via Docker Desktop above) - the native Windows server binary connects to it the same way it would on Linux or macOS.

Vector search over vectors that were already computed works natively on Windows with no sidecar involved - only the live text-to-embedding computation requires WSL2 or Docker.

Verify Installation

bash
curl http://localhost:9090/health
JSON
{
  "status": "ok",
  "version": "0.7.0",
  "subsystems": {
    "disk_full": false,
    "sidecar_healthy": false,
    "connections_active": 0
  }
}

sidecar_healthy: false is expected when running the native Windows binary without a sidecar. Connect with psql or the Python client to confirm the server accepts wire-protocol connections:

bash
psql "host=localhost port=5433 dbname=galaxdb sslmode=disable"