From fb7d93fed4a183847d8db7eda9a7e2bb2f81da8b Mon Sep 17 00:00:00 2001 From: Husn E Rabbi Date: Sun, 11 Jan 2026 13:35:21 +0500 Subject: [PATCH 01/14] feat: added timescaledb Signed-off-by: Husn E Rabbi --- README.md | 2 +- timescaledb/Dockerfile | 35 ++++++++++++++++++++ timescaledb/README.md | 69 ++++++++++++++++++++++++++++++++++++++++ timescaledb/metadata.hcl | 19 +++++++++++ 4 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 timescaledb/Dockerfile create mode 100644 timescaledb/README.md create mode 100644 timescaledb/metadata.hcl diff --git a/README.md b/README.md index 0b9b4ed8..33c955f7 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ they are maintained by their respective authors, and PostgreSQL Debian Group | **[pg_crash](pg-crash)** | **Disruptive** fault injection and chaos engineering extension | [github.com/cybertec-postgresql/pg_crash](https://github.com/cybertec-postgresql/pg_crash) | | **[pgvector](pgvector)** | Vector similarity search for PostgreSQL | [github.com/pgvector/pgvector](https://github.com/pgvector/pgvector) | | **[PostGIS](postgis)** | Geospatial database extension for PostgreSQL | [postgis.net/](https://postgis.net/) | - +| **[TimescaleDB Apache-2 Edition](timescaledb-oss)** | Time-series database for PostgreSQL (open source version) | [github.com/timescale/timescaledb/](https://github.com/timescale/timescaledb/) | Extensions are provided only for the OS versions already built by the [`cloudnative-pg/postgres-containers`](https://github.com/cloudnative-pg/postgres-containers) project, diff --git a/timescaledb/Dockerfile b/timescaledb/Dockerfile new file mode 100644 index 00000000..304e3eb5 --- /dev/null +++ b/timescaledb/Dockerfile @@ -0,0 +1,35 @@ + +ARG BASE=ghcr.io/cloudnative-pg/postgresql:18-minimal-trixie +FROM $BASE AS builder + +ARG PG_MAJOR +ARG EXT_VERSION + +USER 0 +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends gnupg postgresql-common apt-transport-https lsb-release wget ca-certificates; \ + # Add TimescaleDB package repository + echo "deb https://packagecloud.io/timescale/timescaledb/debian/ $(lsb_release -c -s) main" > /etc/apt/sources.list.d/timescaledb.list; \ + wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + timescaledb-2-oss-postgresql-${PG_MAJOR}=${EXT_VERSION}* + +###################################################################### +# Final SCRATCH image +###################################################################### +FROM scratch +ARG PG_MAJOR + +# Licenses +COPY --from=builder /usr/share/doc/timescaledb-2-oss-postgresql-${PG_MAJOR}/copyright /licenses/timescaledb/ + +# Libraries — .so and bitcode for TimescaleDB +COPY --from=builder /usr/lib/postgresql/${PG_MAJOR}/lib/timescaledb* /lib/ +COPY --from=builder /usr/lib/postgresql/${PG_MAJOR}/lib/timescaledb-2* /lib/ + +# Extension SQL + control files +COPY --from=builder /usr/share/postgresql/${PG_MAJOR}/extension/timescaledb* /share/extension/ + +USER 65532:65532 \ No newline at end of file diff --git a/timescaledb/README.md b/timescaledb/README.md new file mode 100644 index 00000000..002dd8fe --- /dev/null +++ b/timescaledb/README.md @@ -0,0 +1,69 @@ +# TimescaleDB (Apache 2.0 Edition) with CloudNativePG + +[TimescaleDB](https://github.com/timescale/timescaledb) is the leading open-source time-series database, built on PostgreSQL. It enables fast analytics, efficient storage, and powerful querying for time-series workloads. + +**Note**: This image contains only the Apache 2.0 licensed components of TimescaleDB to ensure CNCF licensing compliance. Advanced features requiring the Timescale License (TSL) are not included. + +This image provides a convenient way to deploy and manage the open-source core of `TimescaleDB` with +[CloudNativePG](https://cloudnative-pg.io/). + +## Usage + +### 1. Add the timescaledb extension image to your Cluster + +Define the `timescaledb` extension under the `postgresql.extensions` section of +your `Cluster` resource. For example: + +```yaml +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: cluster-timescaledb +spec: + imageName: ghcr.io/cloudnative-pg/postgresql:18-minimal-trixie + instances: 1 + + storage: + size: 1Gi + + postgresql: + shared_preload_libraries: + - "timescaledb" + parameters: + timescaledb.telemetry_level: 'off' + max_locks_per_transaction: '128' + + extensions: + - name: timescaledb + image: + reference: ghcr.io/cloudnative-pg/timescaledb:2.23.1-18-trixie +``` + +### 2. Enable the extension in a database + +You can install `timescaledb` in a specific database by creating or updating a +`Database` resource. For example, to enable it in the `app` database: + +```yaml +apiVersion: postgresql.cnpg.io/v1 +kind: Database +metadata: + name: cluster-timescaledb-app +spec: + name: app + owner: app + cluster: + name: cluster-timescaledb + extensions: + - name: timescaledb +``` + +### 3. Verify installation + +Once the database is ready, connect to it with `psql` and run: + +```sql +\dx +``` + +You should see `timescaledb` listed among the installed extensions. diff --git a/timescaledb/metadata.hcl b/timescaledb/metadata.hcl new file mode 100644 index 00000000..5c203785 --- /dev/null +++ b/timescaledb/metadata.hcl @@ -0,0 +1,19 @@ +metadata = { + name = "timescaledb" + sql_name = "timescaledb" + image_name = "timescaledb" + shared_preload_libraries = ["timescaledb"] + extension_control_path = [] + dynamic_library_path = [] + ld_library_path = [] + versions = { + bookworm = { + // renovate: datasource=postgresql depName=timescaledb-2-oss-postgresql-18 versioning=deb + "18" = "2.24.0~debian12-1801" + } + trixie = { + // renovate: datasource=postgresql depName=timescaledb-2-oss-postgresql-18 versioning=deb + "18" = "2.24.0~debian13-1801" + } + } +} \ No newline at end of file From d09d43f46163e8c074b1b6bf817cbee55afea280 Mon Sep 17 00:00:00 2001 From: Husn E Rabbi Date: Sun, 11 Jan 2026 18:23:13 +0500 Subject: [PATCH 02/14] update metadata.hcl Signed-off-by: Husn E Rabbi --- timescaledb/metadata.hcl | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/timescaledb/metadata.hcl b/timescaledb/metadata.hcl index 5c203785..533e185f 100644 --- a/timescaledb/metadata.hcl +++ b/timescaledb/metadata.hcl @@ -1,11 +1,13 @@ metadata = { - name = "timescaledb" - sql_name = "timescaledb" - image_name = "timescaledb" + name = "timescaledb" + sql_name = "timescaledb" + image_name = "timescaledb" shared_preload_libraries = ["timescaledb"] - extension_control_path = [] - dynamic_library_path = [] - ld_library_path = [] + extension_control_path = [] + dynamic_library_path = [] + ld_library_path = [] + auto_update_os_libs = false + versions = { bookworm = { // renovate: datasource=postgresql depName=timescaledb-2-oss-postgresql-18 versioning=deb @@ -16,4 +18,4 @@ metadata = { "18" = "2.24.0~debian13-1801" } } -} \ No newline at end of file +} From dfbd5725c5cf8dd4c28a10d10345b327b0341bfd Mon Sep 17 00:00:00 2001 From: Husn E Rabbi Date: Tue, 17 Feb 2026 21:49:18 +0500 Subject: [PATCH 03/14] Implement TimescaleDB extension following scaffolding procedure Includes smoke tests for hypertable functionality and uses Apache 2.0-only packages from TimescaleDB repository Signed-off-by: Husn E Rabbi --- timescaledb/Dockerfile | 3 +- timescaledb/README.md | 43 ++++++++++++++++++-- timescaledb/metadata.hcl | 17 ++++---- timescaledb/test/chainsaw-test.yaml | 28 +++++++++++++ timescaledb/test/check-extension-assert.yaml | 6 +++ timescaledb/test/check-extension.yaml | 29 +++++++++++++ timescaledb/test/cluster-assert.yaml | 8 ++++ timescaledb/test/cluster.yaml | 14 +++++++ timescaledb/test/database-assert.yaml | 10 +++++ timescaledb/test/database.yaml | 12 ++++++ 10 files changed, 158 insertions(+), 12 deletions(-) create mode 100644 timescaledb/test/chainsaw-test.yaml create mode 100644 timescaledb/test/check-extension-assert.yaml create mode 100644 timescaledb/test/check-extension.yaml create mode 100644 timescaledb/test/cluster-assert.yaml create mode 100644 timescaledb/test/cluster.yaml create mode 100644 timescaledb/test/database-assert.yaml create mode 100644 timescaledb/test/database.yaml diff --git a/timescaledb/Dockerfile b/timescaledb/Dockerfile index 304e3eb5..d1ad4ecf 100644 --- a/timescaledb/Dockerfile +++ b/timescaledb/Dockerfile @@ -1,3 +1,5 @@ +# SPDX-FileCopyrightText: Copyright © contributors to CloudNativePG, established as CloudNativePG a Series of LF Projects, LLC. +# SPDX-License-Identifier: Apache-2.0 ARG BASE=ghcr.io/cloudnative-pg/postgresql:18-minimal-trixie FROM $BASE AS builder @@ -15,7 +17,6 @@ RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ timescaledb-2-oss-postgresql-${PG_MAJOR}=${EXT_VERSION}* - ###################################################################### # Final SCRATCH image ###################################################################### diff --git a/timescaledb/README.md b/timescaledb/README.md index 002dd8fe..c91be525 100644 --- a/timescaledb/README.md +++ b/timescaledb/README.md @@ -1,6 +1,6 @@ -# TimescaleDB (Apache 2.0 Edition) with CloudNativePG +# TimescaleDB (Apache 2.0 Edition) -[TimescaleDB](https://github.com/timescale/timescaledb) is the leading open-source time-series database, built on PostgreSQL. It enables fast analytics, efficient storage, and powerful querying for time-series workloads. +[TimescaleDB](https://github.com/timescale/timescaledb) is an open-source time-series database built on PostgreSQL. It enables fast analytics, efficient storage, and powerful querying for time-series workloads. **Note**: This image contains only the Apache 2.0 licensed components of TimescaleDB to ensure CNCF licensing compliance. Advanced features requiring the Timescale License (TSL) are not included. @@ -9,7 +9,7 @@ This image provides a convenient way to deploy and manage the open-source core o ## Usage -### 1. Add the timescaledb extension image to your Cluster +### 1. Add the TimescaleDB extension image to your Cluster Define the `timescaledb` extension under the `postgresql.extensions` section of your `Cluster` resource. For example: @@ -36,7 +36,7 @@ spec: extensions: - name: timescaledb image: - reference: ghcr.io/cloudnative-pg/timescaledb:2.23.1-18-trixie + reference: ghcr.io/cloudnative-pg/timescaledb:2.24.0-18-trixie ``` ### 2. Enable the extension in a database @@ -56,6 +56,7 @@ spec: name: cluster-timescaledb extensions: - name: timescaledb + version: '2.24.0' ``` ### 3. Verify installation @@ -67,3 +68,37 @@ Once the database is ready, connect to it with `psql` and run: ``` You should see `timescaledb` listed among the installed extensions. + +### 4. Create a hypertable + +To use TimescaleDB's time-series features, create a hypertable: + +```sql +-- Create a regular table +CREATE TABLE sensor_data ( + time TIMESTAMPTZ NOT NULL, + sensor_id INTEGER, + temperature DOUBLE PRECISION, + humidity DOUBLE PRECISION +); + +-- Convert it to a hypertable +SELECT create_hypertable('sensor_data', 'time'); + +-- Insert some data +INSERT INTO sensor_data VALUES (NOW(), 1, 21.5, 45.0); +``` + +## License + +This image contains only the Apache 2.0 licensed components of TimescaleDB. Features requiring the Timescale License (TSL) are not included to ensure compliance with CNCF licensing requirements. + +All relevant license and copyright information for the `timescaledb` extension +and its dependencies are bundled within the image at: + +```text +/licenses/ +``` + +By using this image, you agree to comply with the terms of the licenses +contained therein. diff --git a/timescaledb/metadata.hcl b/timescaledb/metadata.hcl index 533e185f..47889acc 100644 --- a/timescaledb/metadata.hcl +++ b/timescaledb/metadata.hcl @@ -1,3 +1,5 @@ +# SPDX-FileCopyrightText: Copyright © contributors to CloudNativePG, established as CloudNativePG a Series of LF Projects, LLC. +# SPDX-License-Identifier: Apache-2.0 metadata = { name = "timescaledb" sql_name = "timescaledb" @@ -7,15 +9,16 @@ metadata = { dynamic_library_path = [] ld_library_path = [] auto_update_os_libs = false - + required_extensions = [] + create_extension = true versions = { - bookworm = { - // renovate: datasource=postgresql depName=timescaledb-2-oss-postgresql-18 versioning=deb - "18" = "2.24.0~debian12-1801" - } trixie = { - // renovate: datasource=postgresql depName=timescaledb-2-oss-postgresql-18 versioning=deb - "18" = "2.24.0~debian13-1801" + // renovate: datasource=postgresql depName=timescaledb-2-oss-postgresql-18 versioning=deb + "18" = "2.24.0~debian13-1801" + } + bookworm = { + // renovate: datasource=postgresql depName=timescaledb-2-oss-postgresql-18 versioning=deb + "18" = "2.24.0~debian12-1801" } } } diff --git a/timescaledb/test/chainsaw-test.yaml b/timescaledb/test/chainsaw-test.yaml new file mode 100644 index 00000000..9257f934 --- /dev/null +++ b/timescaledb/test/chainsaw-test.yaml @@ -0,0 +1,28 @@ +apiVersion: chainsaw.kyverno.io/v1alpha1 +kind: Test +metadata: + name: verify-timescaledb-extension +spec: + timeouts: + apply: 5s + assert: 3m + delete: 30s + description: Verify TimescaleDB extension is properly installed + steps: + - name: Create a Cluster with the extension + try: + - apply: + file: cluster.yaml + - apply: + file: database.yaml + - assert: + file: cluster-assert.yaml + - assert: + file: database-assert.yaml + + - name: Verify extension is installed + try: + - apply: + file: check-extension.yaml + - assert: + file: check-extension-assert.yaml diff --git a/timescaledb/test/check-extension-assert.yaml b/timescaledb/test/check-extension-assert.yaml new file mode 100644 index 00000000..a7971fc7 --- /dev/null +++ b/timescaledb/test/check-extension-assert.yaml @@ -0,0 +1,6 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: extension-installed +status: + succeeded: 1 diff --git a/timescaledb/test/check-extension.yaml b/timescaledb/test/check-extension.yaml new file mode 100644 index 00000000..e5efd83e --- /dev/null +++ b/timescaledb/test/check-extension.yaml @@ -0,0 +1,29 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: extension-installed +spec: + template: + spec: + restartPolicy: OnFailure + containers: + - name: data-test + env: + - name: EXT_VERSION + value: ($values.version) + - name: DB_URI + valueFrom: + secretKeyRef: + name: (join('-', [$values.name, 'app'])) + key: uri + image: alpine/psql:latest + command: ['sh', '-c'] + args: + - | + set -e + DB_URI=$(echo $DB_URI | sed "s|/\*|/|") + test "$(psql "$DB_URI" -tAc "SELECT EXISTS (SELECT FROM pg_catalog.pg_extension WHERE extname = 'timescaledb' AND extversion = '${EXT_VERSION}')" -q)" = "t" + psql "$DB_URI" -c "CREATE TABLE test_hypertable (time TIMESTAMPTZ NOT NULL, value DOUBLE PRECISION);" + psql "$DB_URI" -c "SELECT create_hypertable('test_hypertable', 'time');" + psql "$DB_URI" -c "INSERT INTO test_hypertable VALUES (NOW(), 1.0);" + test "$(psql "$DB_URI" -tAc "SELECT COUNT(*) FROM test_hypertable" -q)" = "1" diff --git a/timescaledb/test/cluster-assert.yaml b/timescaledb/test/cluster-assert.yaml new file mode 100644 index 00000000..aa221230 --- /dev/null +++ b/timescaledb/test/cluster-assert.yaml @@ -0,0 +1,8 @@ +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: ($values.name) +status: + readyInstances: 1 + phase: Cluster in healthy state + image: ($values.pg_image) diff --git a/timescaledb/test/cluster.yaml b/timescaledb/test/cluster.yaml new file mode 100644 index 00000000..1a06cd3d --- /dev/null +++ b/timescaledb/test/cluster.yaml @@ -0,0 +1,14 @@ +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: ($values.name) +spec: + imageName: ($values.pg_image) + instances: 1 + + storage: + size: 1Gi + + postgresql: + shared_preload_libraries: ($values.shared_preload_libraries) + extensions: ($values.extensions) diff --git a/timescaledb/test/database-assert.yaml b/timescaledb/test/database-assert.yaml new file mode 100644 index 00000000..dcc0f42f --- /dev/null +++ b/timescaledb/test/database-assert.yaml @@ -0,0 +1,10 @@ +apiVersion: postgresql.cnpg.io/v1 +kind: Database +metadata: + name: (join('-', [$values.name, 'app'])) +status: + applied: true + extensions: + - applied: true + name: ($values.sql_name) + observedGeneration: 1 diff --git a/timescaledb/test/database.yaml b/timescaledb/test/database.yaml new file mode 100644 index 00000000..fd614992 --- /dev/null +++ b/timescaledb/test/database.yaml @@ -0,0 +1,12 @@ +apiVersion: postgresql.cnpg.io/v1 +kind: Database +metadata: + name: (join('-', [$values.name, 'app'])) +spec: + name: app + owner: app + cluster: + name: ($values.name) + extensions: + - name: ($values.sql_name) + version: ($values.version) From 7a9994e9a6f537122724ae925c386994f63c38e2 Mon Sep 17 00:00:00 2001 From: Gabriele Bartolini Date: Thu, 19 Feb 2026 18:30:02 +1100 Subject: [PATCH 04/14] chore: initial review Signed-off-by: Gabriele Bartolini --- README.md | 14 ++++----- {timescaledb => timescaledb-oss}/Dockerfile | 4 +-- {timescaledb => timescaledb-oss}/README.md | 29 ++++++++++++++----- {timescaledb => timescaledb-oss}/metadata.hcl | 2 +- .../test/chainsaw-test.yaml | 0 .../test/check-extension-assert.yaml | 0 .../test/check-extension.yaml | 0 .../test/cluster-assert.yaml | 0 .../test/cluster.yaml | 0 .../test/database-assert.yaml | 0 .../test/database.yaml | 0 11 files changed, 32 insertions(+), 17 deletions(-) rename {timescaledb => timescaledb-oss}/Dockerfile (98%) rename {timescaledb => timescaledb-oss}/README.md (70%) rename {timescaledb => timescaledb-oss}/metadata.hcl (94%) rename {timescaledb => timescaledb-oss}/test/chainsaw-test.yaml (100%) rename {timescaledb => timescaledb-oss}/test/check-extension-assert.yaml (100%) rename {timescaledb => timescaledb-oss}/test/check-extension.yaml (100%) rename {timescaledb => timescaledb-oss}/test/cluster-assert.yaml (100%) rename {timescaledb => timescaledb-oss}/test/cluster.yaml (100%) rename {timescaledb => timescaledb-oss}/test/database-assert.yaml (100%) rename {timescaledb => timescaledb-oss}/test/database.yaml (100%) diff --git a/README.md b/README.md index 33c955f7..04f958a4 100644 --- a/README.md +++ b/README.md @@ -32,13 +32,13 @@ CloudNativePG actively maintains the following third-party extensions, provided they are maintained by their respective authors, and PostgreSQL Debian Group (PGDG) packages are available. -| Extension | Description | Project URL | -| :--- | :--- | :--- | -| **[pgAudit](pgaudit)** | PostgreSQL audit extension | [github.com/pgaudit/pgaudit](https://github.com/pgaudit/pgaudit) | -| **[pg_crash](pg-crash)** | **Disruptive** fault injection and chaos engineering extension | [github.com/cybertec-postgresql/pg_crash](https://github.com/cybertec-postgresql/pg_crash) | -| **[pgvector](pgvector)** | Vector similarity search for PostgreSQL | [github.com/pgvector/pgvector](https://github.com/pgvector/pgvector) | -| **[PostGIS](postgis)** | Geospatial database extension for PostgreSQL | [postgis.net/](https://postgis.net/) | -| **[TimescaleDB Apache-2 Edition](timescaledb-oss)** | Time-series database for PostgreSQL (open source version) | [github.com/timescale/timescaledb/](https://github.com/timescale/timescaledb/) | +| Extension | Description | Project URL | Maintained by | +| :--- | :--- | :--- | :--- | +| **[pgAudit](pgaudit)** | PostgreSQL audit extension | [github.com/pgaudit/pgaudit](https://github.com/pgaudit/pgaudit) | CNPG maintainers | +| **[pg_crash](pg-crash)** | **Disruptive** fault injection and chaos engineering extension | [github.com/cybertec-postgresql/pg_crash](https://github.com/cybertec-postgresql/pg_crash) | CNPG maintainers | +| **[pgvector](pgvector)** | Vector similarity search for PostgreSQL | [github.com/pgvector/pgvector](https://github.com/pgvector/pgvector) | CNPG maintainers | +| **[PostGIS](postgis)** | Geospatial database extension for PostgreSQL | [postgis.net/](https://postgis.net/) | CNPG maintainers | +| **[TimescaleDB Apache-2 Edition](timescaledb-oss)** | Time-series database for PostgreSQL (open source version) | [github.com/timescale/timescaledb/](https://github.com/timescale/timescaledb/) | @shusaan | Extensions are provided only for the OS versions already built by the [`cloudnative-pg/postgres-containers`](https://github.com/cloudnative-pg/postgres-containers) project, diff --git a/timescaledb/Dockerfile b/timescaledb-oss/Dockerfile similarity index 98% rename from timescaledb/Dockerfile rename to timescaledb-oss/Dockerfile index d1ad4ecf..bd8ff937 100644 --- a/timescaledb/Dockerfile +++ b/timescaledb-oss/Dockerfile @@ -29,8 +29,8 @@ COPY --from=builder /usr/share/doc/timescaledb-2-oss-postgresql-${PG_MAJOR}/copy # Libraries — .so and bitcode for TimescaleDB COPY --from=builder /usr/lib/postgresql/${PG_MAJOR}/lib/timescaledb* /lib/ COPY --from=builder /usr/lib/postgresql/${PG_MAJOR}/lib/timescaledb-2* /lib/ - + # Extension SQL + control files COPY --from=builder /usr/share/postgresql/${PG_MAJOR}/extension/timescaledb* /share/extension/ -USER 65532:65532 \ No newline at end of file +USER 65532:65532 diff --git a/timescaledb/README.md b/timescaledb-oss/README.md similarity index 70% rename from timescaledb/README.md rename to timescaledb-oss/README.md index c91be525..9603c655 100644 --- a/timescaledb/README.md +++ b/timescaledb-oss/README.md @@ -1,11 +1,17 @@ # TimescaleDB (Apache 2.0 Edition) -[TimescaleDB](https://github.com/timescale/timescaledb) is an open-source time-series database built on PostgreSQL. It enables fast analytics, efficient storage, and powerful querying for time-series workloads. +[TimescaleDB](https://github.com/timescale/timescaledb) is an open-source +time-series database built on PostgreSQL. It enables fast analytics, efficient +storage, and powerful querying for time-series workloads. -**Note**: This image contains only the Apache 2.0 licensed components of TimescaleDB to ensure CNCF licensing compliance. Advanced features requiring the Timescale License (TSL) are not included. +> [!NOTE] +> This image contains only the Apache 2.0 licensed components of TimescaleDB +> (known as "TimescaleDB Apache-2 Edition") to ensure CNCF licensing +> compliance. Advanced features requiring the Timescale License (TSL) are not +> included. -This image provides a convenient way to deploy and manage the open-source core of `TimescaleDB` with -[CloudNativePG](https://cloudnative-pg.io/). +This image provides a convenient way to deploy and manage the open-source core +of TimescaleDB with [CloudNativePG](https://cloudnative-pg.io/). ## Usage @@ -36,7 +42,7 @@ spec: extensions: - name: timescaledb image: - reference: ghcr.io/cloudnative-pg/timescaledb:2.24.0-18-trixie + reference: ghcr.io/cloudnative-pg/timescaledb-oss:2.24.0-18-trixie ``` ### 2. Enable the extension in a database @@ -89,11 +95,17 @@ SELECT create_hypertable('sensor_data', 'time'); INSERT INTO sensor_data VALUES (NOW(), 1, 21.5, 45.0); ``` +## Maintainers + +This container image is maintained by @shuusan. + ## License -This image contains only the Apache 2.0 licensed components of TimescaleDB. Features requiring the Timescale License (TSL) are not included to ensure compliance with CNCF licensing requirements. +This image contains only the Apache 2.0 licensed components of TimescaleDB. +Features requiring the Timescale License (TSL) are not included to ensure +compliance with CNCF licensing requirements. -All relevant license and copyright information for the `timescaledb` extension +All relevant license and copyright information for the `timescaledb-oss` extension and its dependencies are bundled within the image at: ```text @@ -102,3 +114,6 @@ and its dependencies are bundled within the image at: By using this image, you agree to comply with the terms of the licenses contained therein. + +For further information, refer to +[Software Licensing: Timescale License (TSL)](https://www.tigerdata.com/legal/licenses). diff --git a/timescaledb/metadata.hcl b/timescaledb-oss/metadata.hcl similarity index 94% rename from timescaledb/metadata.hcl rename to timescaledb-oss/metadata.hcl index 47889acc..776dc920 100644 --- a/timescaledb/metadata.hcl +++ b/timescaledb-oss/metadata.hcl @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright © contributors to CloudNativePG, established as CloudNativePG a Series of LF Projects, LLC. # SPDX-License-Identifier: Apache-2.0 metadata = { - name = "timescaledb" + name = "timescaledb-oss" sql_name = "timescaledb" image_name = "timescaledb" shared_preload_libraries = ["timescaledb"] diff --git a/timescaledb/test/chainsaw-test.yaml b/timescaledb-oss/test/chainsaw-test.yaml similarity index 100% rename from timescaledb/test/chainsaw-test.yaml rename to timescaledb-oss/test/chainsaw-test.yaml diff --git a/timescaledb/test/check-extension-assert.yaml b/timescaledb-oss/test/check-extension-assert.yaml similarity index 100% rename from timescaledb/test/check-extension-assert.yaml rename to timescaledb-oss/test/check-extension-assert.yaml diff --git a/timescaledb/test/check-extension.yaml b/timescaledb-oss/test/check-extension.yaml similarity index 100% rename from timescaledb/test/check-extension.yaml rename to timescaledb-oss/test/check-extension.yaml diff --git a/timescaledb/test/cluster-assert.yaml b/timescaledb-oss/test/cluster-assert.yaml similarity index 100% rename from timescaledb/test/cluster-assert.yaml rename to timescaledb-oss/test/cluster-assert.yaml diff --git a/timescaledb/test/cluster.yaml b/timescaledb-oss/test/cluster.yaml similarity index 100% rename from timescaledb/test/cluster.yaml rename to timescaledb-oss/test/cluster.yaml diff --git a/timescaledb/test/database-assert.yaml b/timescaledb-oss/test/database-assert.yaml similarity index 100% rename from timescaledb/test/database-assert.yaml rename to timescaledb-oss/test/database-assert.yaml diff --git a/timescaledb/test/database.yaml b/timescaledb-oss/test/database.yaml similarity index 100% rename from timescaledb/test/database.yaml rename to timescaledb-oss/test/database.yaml From 5a346a8aaa4f536b6b9883610271c5eb1c8122f8 Mon Sep 17 00:00:00 2001 From: Gabriele Bartolini Date: Thu, 19 Feb 2026 18:33:43 +1100 Subject: [PATCH 05/14] chore: add @shusaan as CODEOWNER Signed-off-by: Gabriele Bartolini --- CODEOWNERS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CODEOWNERS b/CODEOWNERS index f4dd1e7d..651110ba 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -3,3 +3,6 @@ # https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-code-owners * @cloudnative-pg/maintainers @NiccoloFei + +# TimescaleDB (OSS version) +/timescaledb-oss/ @shusaan @cloudnative-pg/maintainers @NiccoloFei From 152aa13cdae0a16f13d577ba111ee4609736e49f Mon Sep 17 00:00:00 2001 From: Gabriele Bartolini Date: Thu, 19 Feb 2026 18:35:44 +1100 Subject: [PATCH 06/14] chore: renamed the image name as `timescaledb-oss` Signed-off-by: Gabriele Bartolini --- timescaledb-oss/metadata.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/timescaledb-oss/metadata.hcl b/timescaledb-oss/metadata.hcl index 776dc920..38b08a09 100644 --- a/timescaledb-oss/metadata.hcl +++ b/timescaledb-oss/metadata.hcl @@ -3,7 +3,7 @@ metadata = { name = "timescaledb-oss" sql_name = "timescaledb" - image_name = "timescaledb" + image_name = "timescaledb-oss" shared_preload_libraries = ["timescaledb"] extension_control_path = [] dynamic_library_path = [] From 66512d27ef0c2cec3f94495041ce24db2f432908 Mon Sep 17 00:00:00 2001 From: Husn E Rabbi Date: Fri, 20 Feb 2026 22:09:01 +0500 Subject: [PATCH 07/14] chore(timescaledb-oss): update package source and versions Signed-off-by: Husn E Rabbi --- timescaledb-oss/Dockerfile | 9 ++------- timescaledb-oss/metadata.hcl | 8 ++++---- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/timescaledb-oss/Dockerfile b/timescaledb-oss/Dockerfile index bd8ff937..eb0337f9 100644 --- a/timescaledb-oss/Dockerfile +++ b/timescaledb-oss/Dockerfile @@ -9,14 +9,9 @@ ARG EXT_VERSION USER 0 RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends gnupg postgresql-common apt-transport-https lsb-release wget ca-certificates; \ - # Add TimescaleDB package repository - echo "deb https://packagecloud.io/timescale/timescaledb/debian/ $(lsb_release -c -s) main" > /etc/apt/sources.list.d/timescaledb.list; \ - wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg; \ apt-get update; \ apt-get install -y --no-install-recommends \ - timescaledb-2-oss-postgresql-${PG_MAJOR}=${EXT_VERSION}* + postgresql-${PG_MAJOR}-timescaledb=${EXT_VERSION}* ###################################################################### # Final SCRATCH image ###################################################################### @@ -24,7 +19,7 @@ FROM scratch ARG PG_MAJOR # Licenses -COPY --from=builder /usr/share/doc/timescaledb-2-oss-postgresql-${PG_MAJOR}/copyright /licenses/timescaledb/ +COPY --from=builder /usr/share/doc/postgresql-${PG_MAJOR}-timescaledb/copyright /licenses/timescaledb/ # Libraries — .so and bitcode for TimescaleDB COPY --from=builder /usr/lib/postgresql/${PG_MAJOR}/lib/timescaledb* /lib/ diff --git a/timescaledb-oss/metadata.hcl b/timescaledb-oss/metadata.hcl index 38b08a09..c6081f99 100644 --- a/timescaledb-oss/metadata.hcl +++ b/timescaledb-oss/metadata.hcl @@ -13,12 +13,12 @@ metadata = { create_extension = true versions = { trixie = { - // renovate: datasource=postgresql depName=timescaledb-2-oss-postgresql-18 versioning=deb - "18" = "2.24.0~debian13-1801" + // renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb + "18" = "2.25.1+dfsg-1.pgdg13+1" } bookworm = { - // renovate: datasource=postgresql depName=timescaledb-2-oss-postgresql-18 versioning=deb - "18" = "2.24.0~debian12-1801" + // renovate: suite=bookworm-pgdg depName=postgresql-18-timescaledb + "18" = "2.25.1+dfsg-1.pgdg12+1" } } } From 86edf1117ba64a646402ff32e4abc6c93fc42908 Mon Sep 17 00:00:00 2001 From: Gabriele Bartolini Date: Sun, 22 Feb 2026 20:33:40 +1100 Subject: [PATCH 08/14] chore: add licenses annotation Signed-off-by: Gabriele Bartolini --- timescaledb-oss/metadata.hcl | 1 + 1 file changed, 1 insertion(+) diff --git a/timescaledb-oss/metadata.hcl b/timescaledb-oss/metadata.hcl index c6081f99..62d757d8 100644 --- a/timescaledb-oss/metadata.hcl +++ b/timescaledb-oss/metadata.hcl @@ -4,6 +4,7 @@ metadata = { name = "timescaledb-oss" sql_name = "timescaledb" image_name = "timescaledb-oss" + licenses = ["Apache-2.0"] shared_preload_libraries = ["timescaledb"] extension_control_path = [] dynamic_library_path = [] From 96ed3b864fcd73fdaa8de2aef6e100b1b69dd062 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Fei?= Date: Wed, 4 Mar 2026 18:10:01 +0100 Subject: [PATCH 09/14] chore: review tests and docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enforce the given EXT_VERSION when building the image. Fix the license directory. Update documentation and smoke tests. Signed-off-by: Niccolò Fei --- timescaledb-oss/Dockerfile | 16 ++++++---------- timescaledb-oss/README.md | 10 +++++++--- timescaledb-oss/metadata.hcl | 1 + timescaledb-oss/test/cluster.yaml | 2 ++ timescaledb-oss/test/database-assert.yaml | 7 +------ timescaledb-oss/test/database.yaml | 4 +--- 6 files changed, 18 insertions(+), 22 deletions(-) diff --git a/timescaledb-oss/Dockerfile b/timescaledb-oss/Dockerfile index eb0337f9..5c324329 100644 --- a/timescaledb-oss/Dockerfile +++ b/timescaledb-oss/Dockerfile @@ -8,24 +8,20 @@ ARG PG_MAJOR ARG EXT_VERSION USER 0 -RUN set -eux; \ - apt-get update; \ +RUN apt-get update && \ apt-get install -y --no-install-recommends \ - postgresql-${PG_MAJOR}-timescaledb=${EXT_VERSION}* -###################################################################### -# Final SCRATCH image -###################################################################### + "postgresql-${PG_MAJOR}-timescaledb=${EXT_VERSION}" + FROM scratch ARG PG_MAJOR # Licenses -COPY --from=builder /usr/share/doc/postgresql-${PG_MAJOR}-timescaledb/copyright /licenses/timescaledb/ +COPY --from=builder /usr/share/doc/postgresql-${PG_MAJOR}-timescaledb/copyright /licenses/postgresql-${PG_MAJOR}-timescaledb/ -# Libraries — .so and bitcode for TimescaleDB +# Libraries COPY --from=builder /usr/lib/postgresql/${PG_MAJOR}/lib/timescaledb* /lib/ -COPY --from=builder /usr/lib/postgresql/${PG_MAJOR}/lib/timescaledb-2* /lib/ -# Extension SQL + control files +# Share COPY --from=builder /usr/share/postgresql/${PG_MAJOR}/extension/timescaledb* /share/extension/ USER 65532:65532 diff --git a/timescaledb-oss/README.md b/timescaledb-oss/README.md index 9603c655..8c860936 100644 --- a/timescaledb-oss/README.md +++ b/timescaledb-oss/README.md @@ -1,4 +1,8 @@ -# TimescaleDB (Apache 2.0 Edition) +# `TimescaleDB` (Apache 2.0 Edition) + [TimescaleDB](https://github.com/timescale/timescaledb) is an open-source time-series database built on PostgreSQL. It enables fast analytics, efficient @@ -42,7 +46,7 @@ spec: extensions: - name: timescaledb image: - reference: ghcr.io/cloudnative-pg/timescaledb-oss:2.24.0-18-trixie + reference: ghcr.io/cloudnative-pg/timescaledb-oss:2.25.1-18-trixie ``` ### 2. Enable the extension in a database @@ -62,7 +66,7 @@ spec: name: cluster-timescaledb extensions: - name: timescaledb - version: '2.24.0' + version: '2.25.1' ``` ### 3. Verify installation diff --git a/timescaledb-oss/metadata.hcl b/timescaledb-oss/metadata.hcl index 62d757d8..eb3112c5 100644 --- a/timescaledb-oss/metadata.hcl +++ b/timescaledb-oss/metadata.hcl @@ -12,6 +12,7 @@ metadata = { auto_update_os_libs = false required_extensions = [] create_extension = true + versions = { trixie = { // renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb diff --git a/timescaledb-oss/test/cluster.yaml b/timescaledb-oss/test/cluster.yaml index 1a06cd3d..f78dfbc3 100644 --- a/timescaledb-oss/test/cluster.yaml +++ b/timescaledb-oss/test/cluster.yaml @@ -10,5 +10,7 @@ spec: size: 1Gi postgresql: + parameters: + timescaledb.telemetry_level: 'off' shared_preload_libraries: ($values.shared_preload_libraries) extensions: ($values.extensions) diff --git a/timescaledb-oss/test/database-assert.yaml b/timescaledb-oss/test/database-assert.yaml index dcc0f42f..9417b87b 100644 --- a/timescaledb-oss/test/database-assert.yaml +++ b/timescaledb-oss/test/database-assert.yaml @@ -2,9 +2,4 @@ apiVersion: postgresql.cnpg.io/v1 kind: Database metadata: name: (join('-', [$values.name, 'app'])) -status: - applied: true - extensions: - - applied: true - name: ($values.sql_name) - observedGeneration: 1 +status: ($values.database_assert_status) diff --git a/timescaledb-oss/test/database.yaml b/timescaledb-oss/test/database.yaml index fd614992..2d6810c2 100644 --- a/timescaledb-oss/test/database.yaml +++ b/timescaledb-oss/test/database.yaml @@ -7,6 +7,4 @@ spec: owner: app cluster: name: ($values.name) - extensions: - - name: ($values.sql_name) - version: ($values.version) + extensions: ($values.database_config.extensions_spec) From 1974397ab001a569fe9328c0126d79288deb8264 Mon Sep 17 00:00:00 2001 From: Gabriele Bartolini Date: Fri, 3 Apr 2026 22:52:27 +0200 Subject: [PATCH 10/14] chore: add missing variables in metadata Signed-off-by: Gabriele Bartolini --- timescaledb-oss/metadata.hcl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/timescaledb-oss/metadata.hcl b/timescaledb-oss/metadata.hcl index eb3112c5..8e32b2e5 100644 --- a/timescaledb-oss/metadata.hcl +++ b/timescaledb-oss/metadata.hcl @@ -6,9 +6,12 @@ metadata = { image_name = "timescaledb-oss" licenses = ["Apache-2.0"] shared_preload_libraries = ["timescaledb"] + postgresql_parameters = {} extension_control_path = [] dynamic_library_path = [] ld_library_path = [] + bin_path = [] + env = {} auto_update_os_libs = false required_extensions = [] create_extension = true @@ -17,10 +20,14 @@ metadata = { trixie = { // renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb "18" = "2.25.1+dfsg-1.pgdg13+1" + // renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb-oss extractVersion=^(?\d+\.\d+\.\d+) + sql = "2.25.1" } bookworm = { // renovate: suite=bookworm-pgdg depName=postgresql-18-timescaledb "18" = "2.25.1+dfsg-1.pgdg12+1" + // renovate: suite=bookworm-pgdg depName=postgresql-18-timescaledb-oss extractVersion=^(?\d+\.\d+\.\d+) + sql = "2.25.1" } } } From 48a7aeb2a3d8e16712f44a0b5c4d99e29d440ca7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Fei?= Date: Tue, 7 Apr 2026 17:39:44 +0200 Subject: [PATCH 11/14] fix: metadata.hcl syntax and missing renovate lines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Niccolò Fei --- timescaledb-oss/Dockerfile | 4 ++-- timescaledb-oss/README.md | 2 ++ timescaledb-oss/metadata.hcl | 12 ++++++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/timescaledb-oss/Dockerfile b/timescaledb-oss/Dockerfile index 5c324329..9de8a0a0 100644 --- a/timescaledb-oss/Dockerfile +++ b/timescaledb-oss/Dockerfile @@ -8,9 +8,9 @@ ARG PG_MAJOR ARG EXT_VERSION USER 0 + RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - "postgresql-${PG_MAJOR}-timescaledb=${EXT_VERSION}" + apt-get install -y --no-install-recommends "postgresql-${PG_MAJOR}-timescaledb=${EXT_VERSION}" FROM scratch ARG PG_MAJOR diff --git a/timescaledb-oss/README.md b/timescaledb-oss/README.md index 8c860936..aafafc1b 100644 --- a/timescaledb-oss/README.md +++ b/timescaledb-oss/README.md @@ -46,6 +46,7 @@ spec: extensions: - name: timescaledb image: + # renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb reference: ghcr.io/cloudnative-pg/timescaledb-oss:2.25.1-18-trixie ``` @@ -66,6 +67,7 @@ spec: name: cluster-timescaledb extensions: - name: timescaledb + # renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb extractVersion=^(?\d+\.\d+\.\d+) version: '2.25.1' ``` diff --git a/timescaledb-oss/metadata.hcl b/timescaledb-oss/metadata.hcl index 8e32b2e5..00b5cb32 100644 --- a/timescaledb-oss/metadata.hcl +++ b/timescaledb-oss/metadata.hcl @@ -18,16 +18,20 @@ metadata = { versions = { trixie = { + "18" = { // renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb - "18" = "2.25.1+dfsg-1.pgdg13+1" - // renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb-oss extractVersion=^(?\d+\.\d+\.\d+) + package = "2.25.1+dfsg-1.pgdg13+1" + // renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb extractVersion=^(?\d+\.\d+\.\d+) sql = "2.25.1" + } } bookworm = { + "18" = { // renovate: suite=bookworm-pgdg depName=postgresql-18-timescaledb - "18" = "2.25.1+dfsg-1.pgdg12+1" - // renovate: suite=bookworm-pgdg depName=postgresql-18-timescaledb-oss extractVersion=^(?\d+\.\d+\.\d+) + package = "2.25.1+dfsg-1.pgdg12+1" + // renovate: suite=bookworm-pgdg depName=postgresql-18-timescaledb extractVersion=^(?\d+\.\d+\.\d+) sql = "2.25.1" + } } } } From 0a8843afa6406d7339c4475f87e9fae13b6de2de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Fei?= Date: Tue, 7 Apr 2026 17:54:34 +0200 Subject: [PATCH 12/14] test: make smoke-test idempotent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Niccolò Fei --- timescaledb-oss/test/check-extension.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/timescaledb-oss/test/check-extension.yaml b/timescaledb-oss/test/check-extension.yaml index e5efd83e..529ced7f 100644 --- a/timescaledb-oss/test/check-extension.yaml +++ b/timescaledb-oss/test/check-extension.yaml @@ -23,6 +23,7 @@ spec: set -e DB_URI=$(echo $DB_URI | sed "s|/\*|/|") test "$(psql "$DB_URI" -tAc "SELECT EXISTS (SELECT FROM pg_catalog.pg_extension WHERE extname = 'timescaledb' AND extversion = '${EXT_VERSION}')" -q)" = "t" + psql "$DB_URI" -c "DROP TABLE IF EXISTS test_hypertable CASCADE;" psql "$DB_URI" -c "CREATE TABLE test_hypertable (time TIMESTAMPTZ NOT NULL, value DOUBLE PRECISION);" psql "$DB_URI" -c "SELECT create_hypertable('test_hypertable', 'time');" psql "$DB_URI" -c "INSERT INTO test_hypertable VALUES (NOW(), 1.0);" From fd191da03d9106f8417ec0da24880f40322115cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Fei?= Date: Tue, 7 Apr 2026 17:56:29 +0200 Subject: [PATCH 13/14] chore: bump to v2.26.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Niccolò Fei --- timescaledb-oss/README.md | 4 ++-- timescaledb-oss/metadata.hcl | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/timescaledb-oss/README.md b/timescaledb-oss/README.md index aafafc1b..0bd4d997 100644 --- a/timescaledb-oss/README.md +++ b/timescaledb-oss/README.md @@ -47,7 +47,7 @@ spec: - name: timescaledb image: # renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb - reference: ghcr.io/cloudnative-pg/timescaledb-oss:2.25.1-18-trixie + reference: ghcr.io/cloudnative-pg/timescaledb-oss:2.26.1-18-trixie ``` ### 2. Enable the extension in a database @@ -68,7 +68,7 @@ spec: extensions: - name: timescaledb # renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb extractVersion=^(?\d+\.\d+\.\d+) - version: '2.25.1' + version: '2.26.1' ``` ### 3. Verify installation diff --git a/timescaledb-oss/metadata.hcl b/timescaledb-oss/metadata.hcl index 00b5cb32..32e45c9d 100644 --- a/timescaledb-oss/metadata.hcl +++ b/timescaledb-oss/metadata.hcl @@ -20,17 +20,17 @@ metadata = { trixie = { "18" = { // renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb - package = "2.25.1+dfsg-1.pgdg13+1" + package = "2.26.1+dfsg-1.pgdg13+1" // renovate: suite=trixie-pgdg depName=postgresql-18-timescaledb extractVersion=^(?\d+\.\d+\.\d+) - sql = "2.25.1" + sql = "2.26.1" } } bookworm = { "18" = { // renovate: suite=bookworm-pgdg depName=postgresql-18-timescaledb - package = "2.25.1+dfsg-1.pgdg12+1" + package = "2.26.1+dfsg-1.pgdg12+1" // renovate: suite=bookworm-pgdg depName=postgresql-18-timescaledb extractVersion=^(?\d+\.\d+\.\d+) - sql = "2.25.1" + sql = "2.26.1" } } } From b937380d30e146b87034da478b94d6e34a2050db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Fei?= Date: Tue, 7 Apr 2026 18:19:22 +0200 Subject: [PATCH 14/14] test: use new create_hypertable() api style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Niccolò Fei --- timescaledb-oss/test/check-extension.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/timescaledb-oss/test/check-extension.yaml b/timescaledb-oss/test/check-extension.yaml index 529ced7f..19e277ce 100644 --- a/timescaledb-oss/test/check-extension.yaml +++ b/timescaledb-oss/test/check-extension.yaml @@ -25,6 +25,6 @@ spec: test "$(psql "$DB_URI" -tAc "SELECT EXISTS (SELECT FROM pg_catalog.pg_extension WHERE extname = 'timescaledb' AND extversion = '${EXT_VERSION}')" -q)" = "t" psql "$DB_URI" -c "DROP TABLE IF EXISTS test_hypertable CASCADE;" psql "$DB_URI" -c "CREATE TABLE test_hypertable (time TIMESTAMPTZ NOT NULL, value DOUBLE PRECISION);" - psql "$DB_URI" -c "SELECT create_hypertable('test_hypertable', 'time');" + psql "$DB_URI" -c "SELECT create_hypertable('test_hypertable', by_range('time'));" psql "$DB_URI" -c "INSERT INTO test_hypertable VALUES (NOW(), 1.0);" test "$(psql "$DB_URI" -tAc "SELECT COUNT(*) FROM test_hypertable" -q)" = "1"