# Pinned inputs of the benchmark harness, in one place. Sourced by lib.sh and datasets/fetch.sh; # any variable can be overridden from the environment. # PostgreSQL: the harness is written for and measured on this major version. PG_MAJOR=${PG_MAJOR:-18} # Simple English Wikipedia dump (CC BY-SA 4.0). Dumps are immutable; the sha1 equals the one published in # simplewiki--sha1sums.txt. Wikimedia keeps only recent dumps: pick another WIKI_DATE (and drop the # pinned sha1, the published sums are still checked) when this one is gone. WIKI_DATE=${WIKI_DATE:-20261001} WIKI_SHA1=${WIKI_SHA1:-f55881650e447c39e8bdeba4b1bb8d5576342d4b} # GeoNames export (CC BY 4.0). The files are regenerated every day and old versions are not archived, so the # sha256 below only identifies the files of the published results (taken on GEONAMES_DATE); a mismatch is a # warning, not an error: the places differ slightly and so will the numbers. GEONAMES_BASE=${GEONAMES_BASE:-https://download.geonames.org/export/dump} GEONAMES_DATE=${GEONAMES_DATE:-20261016} GEONAMES_SHA256_cities500=${GEONAMES_SHA256_cities500:-ca136e8a47637dbfd3140900f313733e7c2776d310c7ed4b58676ea2af626e05} GEONAMES_SHA256_cities15000=${GEONAMES_SHA256_cities15000:-da8eca618fb5a0aff0150b2c2caa89b9bf6fb279e6720ac4c287823049cf2069} # Engines. sift is built from this checkout (bench/bench setup --engines sift); sift_ref, the reference of `bench regress`, from this git ref. SIFT_REF=${SIFT_REF:-v1.1.0} PARADEDB_VERSION=${PARADEDB_VERSION:-0.26.1} # pg_search, prebuilt PG18 package of the GitHub release RUM_VERSION=${RUM_VERSION:-1.3.15} # postgrespro/rum tag (the latest), built with PGXS RUM_SHA256=${RUM_SHA256:-e79b3a67df9821bc0d86fd463dac7249f1729d9dd04f77db767e2815098247b8} # of the GitHub tag tarball PG_TEXTSEARCH_VERSION=${PG_TEXTSEARCH_VERSION:-1.5.1} # timescale/pg_textsearch tag v1.5.1, built with PGXS PG_TEXTSEARCH_COMMIT=${PG_TEXTSEARCH_COMMIT:-fa142d049d08eac45a263f5abc250c8877ae076e} # what the tag points to PG_TEXTSEARCH_SHA256=${PG_TEXTSEARCH_SHA256:-2e7fb76ed96176afc6d16cc5d095ced2cb233ff27fbeaa8c7bfffc82e02f7498} # of the GitHub tag tarball # The store benchmark (bench/bench store): the images of the servers, one container each. Tags are exact releases; docker pulls them. STORE_PG_IMAGE=${STORE_PG_IMAGE:-postgres:18.6} # official image; pg_sift is built on top of it from this checkout STORE_ES_IMAGE=${STORE_ES_IMAGE:-docker.elastic.co/elasticsearch/elasticsearch:9.5.5} STORE_CH_IMAGE=${STORE_CH_IMAGE:-clickhouse/clickhouse-server:26.9.19.9} STORE_CITUS_IMAGE=${STORE_CITUS_IMAGE:-citusdata/citus:14.2.0} # Citus 14.2 on PostgreSQL 18.4, one node; only its `columnar` table access method (extension citus_columnar) is used. Run in a container, nothing of it is downloaded into this repository STORE_TIMESCALE_IMAGE=${STORE_TIMESCALE_IMAGE:-timescale/timescaledb:2.31.0-pg18} # TimescaleDB 2.31 community (continuous aggregates) on PostgreSQL 18, the generic suites' lane STORE_DUCKDB_IMAGE=${STORE_DUCKDB_IMAGE:-pgduckdb/pgduckdb:18-v1.1.1} # the pg_duckdb release image of the duckdb benchmark (bench/bench duckdb), PostgreSQL 18.1; nothing of it is built or downloaded into this repository DUCKDB_PG_VERSION=${DUCKDB_PG_VERSION:-1.1.1} # duckdb/pg_duckdb tag v1.1.1 (the extension reports 1.1.0 in its control file), embedding DuckDB 1.4.3 DUCKDB_PG_COMMIT=${DUCKDB_PG_COMMIT:-7b0db3737a1ab2dfb182b742322426e3c4b500af} # what the tag points to DUCKDB_CLI_VERSION=${DUCKDB_CLI_VERSION:-1.4.3} # the DuckDB the pg_duckdb release embeds, as the command line client of the generic suites' native lane (GitHub release, linux amd64) DUCKDB_CLI_SHA256=${DUCKDB_CLI_SHA256:-7a9e36141a71a353f54dfbeed607a5218c3425ce2d417610da08443259a12f7c} # of duckdb_cli-linux-amd64.zip