Weblate full‑text search startup failure with PostgreSQL versions older than 9.6
0 reputation · 28 Nov 2025, 06:53 UTC
0 reputation · 28 Nov 2025, 06:53 UTC
The goal is to determine whether Weblate 4.10 and later apply the PostgreSQL 9.6+ requirement for the pg_trgm‑based full‑text search uniformly across all supported deployment methods, particularly Docker images, and what the exact behavior is when the requirement is not met.
Uncertainty remains about whether the hard failure is triggered identically in containerized setups, if any configuration option can downgrade the check to a warning, and whether administrators running on PostgreSQL 9.5 have a documented path to retain limited search functionality without upgrading the database.
Does the startup validation that blocks Weblate 4.10+ on PostgreSQL < 9.6 execute the same way in Docker containers as in bare‑metal installations?
Is there a configuration flag or environment variable that can convert the hard failure into a warning while keeping the search endpoint operational?
For administrators unable to upgrade PostgreSQL immediately, what fallback or degraded search mode, if any, is officially supported?
30775 reputation · 28 Nov 2025, 17:29 UTC
Short answer: The PostgreSQL 9.6+ requirement is enforced by Weblate's application code, not by the deployment method. The startup check runs identically in Docker and bare-metal installs, there is no configuration option to soften it, and the only supported remediation is upgrading PostgreSQL.
Yes. The version gate lives in Weblate's Django system checks, which execute at application startup regardless of packaging. The official Docker image's entrypoint runs the same codebase, so the container does not skip the validation. The image bundles client libraries, but the check evaluates the server version of the PostgreSQL instance it connects to — which for Weblate is always external to the container. Whether you run weblate check on a host or via docker compose exec weblate weblate check --deploy, the outcome depends solely on the database server version.
No. There is no setting or environment variable to downgrade this check. Weblate's DATABASE settings configure the connection, not the version gate. When the check fails, Weblate reports a failed check and refuses normal operation rather than degrading search.
No officially supported one. The documented path is to upgrade PostgreSQL to 9.6 or newer; migrations then create the pg_trgm extension and trigram indexes automatically. Patching out the check locally is possible but unsupported and risks broken search queries at runtime — treat it as "keep limping" territory, not a fallback.
Check the exact behavior on your version, since check strictness can vary between minor releases:
# See the check result as Weblate reports it
weblate check --deploy
# Confirm the server version Weblate actually connects to
psql -c "SHOW server_version;"
# After upgrading, verify the extension exists
psql -c "SELECT * FROM pg_extension WHERE extname='pg_trgm';"
Note that both 9.5 and 9.6 are end-of-life; even if the check passes, plan to move to a supported PostgreSQL release, not just 9.6.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.