| Crates.io | vibesql-server |
| lib.rs | vibesql-server |
| version | 0.1.3 |
| created_at | 2025-12-04 05:05:55.882482+00 |
| updated_at | 2025-12-09 08:03:51.803969+00 |
| description | Network server with PostgreSQL wire protocol for VibeSQL |
| homepage | |
| repository | https://github.com/rjwalters/vibesql |
| max_upload_size | |
| id | 1965908 |
| size | 1,307,912 |
Network server with PostgreSQL wire protocol for VibeSQL database.
vibesql-server provides a network server that accepts remote client connections using the PostgreSQL wire protocol. This enables VibeSQL to be used as a standalone database server, compatible with existing PostgreSQL clients and drivers.
cargo build --release -p vibesql-server
# Start with default configuration
vibesql-server
# Start with custom configuration file
vibesql-server --config /path/to/vibesql-server.toml
Create a configuration file vibesql-server.toml:
[server]
host = "0.0.0.0"
port = 5432
max_connections = 100
ssl_enabled = false
[auth]
method = "trust" # Options: trust, password, md5, scram-sha-256
[logging]
level = "info" # Options: trace, debug, info, warn, error
The server searches for configuration files in:
./vibesql-server.toml (current directory)~/.config/vibesql/vibesql-server.toml/etc/vibesql/vibesql-server.tomlpsql -h localhost -p 5432 -U myuser -d mydb
import psycopg2
conn = psycopg2.connect(
host="localhost",
port=5432,
user="myuser",
database="mydb"
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
String url = "jdbc:postgresql://localhost:5432/mydb";
Connection conn = DriverManager.getConnection(url, "myuser", "");
Client → TCP Connection → SSL Negotiation (optional)
→ Startup Handshake
→ Authentication
→ Query Processing Loop
→ Termination
Implemented:
TODO:
# Run unit tests
cargo test -p vibesql-server
# Run with logging
RUST_LOG=debug cargo run -p vibesql-server
# Test with psql
psql -h localhost -p 5432 -c "SELECT 1"
The server uses:
Licensed under the same terms as VibeSQL (MIT OR Apache-2.0).