A tool for tuning TimescaleDB performance by adjusting PostgreSQL settings to match your system's CPU and memory resources.
timescaledb-tune is a command-line tool that optimizes TimescaleDB performance by automatically adjusting PostgreSQL configuration settings. It analyzes the host system's CPU and memory resources to provide tailored recommendations for memory allocation, parallelism, WAL, and other critical parameters. The tool simplifies database tuning, ensuring TimescaleDB runs efficiently without requiring deep expertise in PostgreSQL configuration.
Database administrators, DevOps engineers, and developers using TimescaleDB who need to optimize database performance for time-series workloads. It's particularly useful for those managing self-hosted TimescaleDB instances who want to ensure their configuration matches their hardware resources.
Developers choose timescaledb-tune because it automates complex database tuning tasks, reducing manual errors and saving time. Its resource-aware recommendations and interactive/automated modes provide a flexible, reliable way to optimize TimescaleDB performance without deep PostgreSQL tuning knowledge.
A tool for tuning TimescaleDB for better performance by adjusting settings to match your system's CPU and memory resources.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
It applies TimescaleDB-specific tuning recommendations based on system resources like memory and CPU, reducing manual errors and saving time, as shown in the interactive prompts for settings such as shared_buffers.
Supports custom profiles like promscale via the --profile flag, allowing tailored optimizations for different use cases beyond default settings.
Creates backups of postgresql.conf before modifications and includes a --restore flag for rollback, ensuring changes are reversible if issues arise.
Offers flags like --yes and --quiet for non-interactive use, making it easy to integrate into deployment scripts or CI/CD pipelines, as demonstrated in the README examples.
Auto-detection of configuration files and system resources can fail in non-standard environments, requiring manual specification with --conf-path, which adds complexity and potential for errors.
Currently supports only a few workload profiles (e.g., promscale), which may not cover specialized or emerging database workloads without extensive manual overrides.
By default, it overwrites the existing postgresql.conf, which could inadvertently remove custom settings if not carefully reviewed, despite backup features, posing a risk for experienced admins.