# WeaselDB Configuration File # See config.md for complete documentation of all configuration options [server] # Network interfaces where WeaselDB will accept connections # Options: TCP (address + port) or Unix domain sockets (path) # For production, use TCP. For local testing, consider Unix sockets for better performance interfaces = [ { type = "tcp", address = "127.0.0.1", port = 8080 } ] # Maximum size allowed for incoming requests (larger requests are rejected) # Increase if you need to handle very large transaction payloads max_request_size_bytes = 1048576 # 1MB # Number of worker threads handling network connections # Start with 1, increase if CPU usage is high under load io_threads = 1 # Internal network processing batch size # Higher values may improve throughput at cost of latency event_batch_size = 32 [commit] # Required minimum length for transaction request IDs # Longer IDs reduce chance of accidental duplicates across clients min_request_id_length = 20 # How long to keep transaction status information available (hours) # Used by status API to look up the outcome of completed transactions request_id_retention_hours = 24 # Alternative retention policy: keep transaction status for at least this many database versions # Ensures status lookups work even during periods of low database activity request_id_retention_versions = 100000000 [subscription] # Memory limit for buffering change stream data per subscriber (bytes) # Subscribers that fall behind will be disconnected when this limit is reached # See api.md for details on the subscription streaming API max_buffer_size_bytes = 10485760 # 10MB # How often to send keep-alive messages to streaming subscribers (seconds) # Prevents network timeouts during periods of no database activity keepalive_interval_seconds = 30