Public mirror of the recipe files the Query Doctor planner builds extensions from. Generated
from Query-Doctor/postgres-patches — changes pushed here are overwritten by the next sync,
so send them there instead.
extensions/<name>.recipe— how to build one extension: source repository, the ref to use per Postgres major, build and runtime packages,shared_preload_librariesentries andpostgresql.conflines.extensions/<name>.sql— its smoke test: create the extension, build its own index type, run a query against it, and assert the plan chose that index.build/extension.sh— compiles recipes into a base image and runs those smoke tests.build/docker-entrypoint.sh— the entrypoint the built image gets.
Every extension is compiled from source against the target image's own pg_config, never
installed as a package. A binary built against a different tree loads without complaint,
builds its indexes and returns correct rows, and then reports NaN costs — at which point the
planner quietly refuses the index. The smoke test's plan assertion is what catches that.
Each sync is tagged src-<commit>, naming the postgres-patches commit the files came from.
Fetch a tag rather than a branch, so the recipes cannot move under a build:
git fetch --depth 1 https://github.com/Query-Doctor/postgres-recipes.git src-<commit>