All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
These are changes that will probably be included in the next release.
- Include pgvectorscale
- Include pgai
- Refactor base HA image
- Include and default to TimescaleDB 2.10.3
- Include and default to TimescaleDB 2.10.2
- Include and default to TimescaleDB 2.10.1
- Include and default to TimescaleDB 2.9.2
- Upgrade Promscale extension to 0.8.0
- Include and default to TimescaleDB 2.9.1
- Include Toolkit 1.13.0
- Include and default to TimescaleDB 2.9.0
- Reduce surface area for leaking passwords
- Include ts_stat_statements.
- Include Timescale-osm
- Include Toolkit 1.12.1
- Update patroni, add fix for creating k8s svc
- Minor PostgreSQL version upgrade (fetching latest distro packages): 14.6 and 13.9
- Include Toolkit 1.12.0
- Upgrade OpenSSL to 3.0.7 (fetching latest distro packages)
- Upgrade Promscale extension to 0.7.0
- Include and default to TimescaleDB 2.8.1
- Bump
hot_forge
to 0.1.39 for AWS Security Token Service
- Switch from docker API v1 to v2 for determining immutable tag names
- Upgrade TimescaleDB Toolkit extension to 1.11.0
- Include timescaledb_cloudutils v1.1.7
- Include timescaledb-tune 0.14.1
- Include and default to TimescaleDB 2.8.0
- Upgrade the Promscale extension to 0.6.0
- Include patroni-k8s-sync in non-oss images
- Upgrade TimescaleDB Toolkit extension to 1.10.1
- PostgreSQL 14.5 was now actually released
- PostgreSQL 13.8 was now actually released
- Include and default to TimescaleDB 2.7.2
- Upgrade Promscale extension to 0.5.4
- Use binary packages for promscale and toolkit
- Include and default to TimescaleDB 2.7.1
- Upgrade TimescaleDB Toolkit extension to 1.8.0
- Upgrade Promscale extension to 0.5.2
- PostgreSQL 14.4 was now actually released as debian packages
This release reintroduces all minor versions of TimescaleDB that were dropped when 1.4.0 was released. We received multiple reports from users of this Docker Image that they rely on older (minor) versions of TimescaleDB.
- PostgreSQL 14.4 was released
- Upgrade Promscale extension to version 0.5.1
- Patroni was updated to 2.1.4
This release removes a lot of minor versions of TimescaleDB. We keep the following versions for compatibility with older Docker Images:
- 1.7.5 - This version is the final version 1.x.x version of TimescaleDB.for PostgreSQL 11 users.
This version is only available for PostgreSQL 12.
Having this version in the Docker Image allows this Image to be a stepping stone in a migration
from PostgreSQL 11 and/or TimescaleDB 1.7.5, using
pg_dump
andpg_restore
for example. - 2.6.1 - The final point release for the previous minor release
- 2.7.0 - The latest TimescaleDB release
For those users that are currently running a TimescaleDB version that is removed from this image, they are adviced to update their TimescaleDB extension to 2.7.0 prior to using the newer Docker Image.
The latest Docker Image that allows you to run many previous minor versions to 2.7.0 is:
timescale/timescaledb-ha:pg14.3-ts2.7.0-p1
This release also deprecates versions of timescaledb_toolkit
. The same advice applies for this
extension as for the timescaledb
extension, to update the extension to 1.7.0 prior to using the
newer Docker Image.
-
TimescaleDB versions:
- 2.1.0
- 2.1.1
- 2.2.0
- 2.2.1
- 2.3.0
- 2.3.1
- 2.4.0
- 2.4.1
- 2.4.2
- 2.5.0
- 2.5.1
- 2.5.2
- 2.6.0
-
TimescaleDB Toolkit versions:
- forge-stable-1.3.1
- 1.5.1-cloud
- Include timescaledb_cloudutils v1.1.6
- Include and default to TimescaleDB 2.7.0
- Ensure experimental Patroni image also supports PostgreSQL 12 and 13
- Upgrade TimescaleDB Toolkit extension to 1.7.0
- Upgrade Oom Guard to 1.2.0
- Patroni has been updated to support a new static primary configuration pattern which is optimized to ensure that a single-node Patroni cluster is able to maintain maximum uptime.
- Install timescaledb_toolkit extension by default
- Upgrade promscale extension to version 0.5.0
- Upgrade Timescale Cloudutils to 1.1.5
- Use Ubuntu 22.04 LTS as a base image instead of Ubuntu 21.10
- Bump
hot_forge
to 0.1.37 - Include Timescale Cloudutils 1.1.4
- Include Timescale Cloudutils 1.1.3
- Include and default to TimescaleDB 2.6.1
- Include Cloudutils v1.1.2
- Upgrade promscale extension to version 0.3.2
Minor release bump as we change Ubuntu to 21.10, which includes a higher
version of glibc
.
- Use Ubuntu 21.10 as a base image instead of Ubuntu 21.04
- Patroni was updated to 2.1.3
Patroni was updated to [2.1.3]Due to packaging problems, Patroni was still at 2.1.2 for this release.
- Include and default to TimescaleDB 2.6.0
- Include Timescale Cloudutils 1.1.1
- Include TimescaleDB Toolkit 1.5.1
- Fix
search_path
for TimescaleDB < 2.5.2 - Use Docker Secrets during building
- Include and default to TimescaleDB 2.5.2
- Include PostgreSQL in the image labeled with PostgreSQL 14 to allow
pg_upgrade
from version 12 to version 14
- Use Rust 1.58.1 to allow Rust 2021 edition projects to be included
- Build fewer versions of Toolkit to improve build time
- Switch to using Docker Secrets with the
--secret
option this also requires the use of Docker BuildKit
- Include
pg_stat_monitor
- Include Timescale Cloudutils 1.1.0, this includes support for PostgreSQL 14
- Retain PostgreSQL 12 support in the builder/compiler images
- Include Timescale Cloudutils 1.0.3
- Upgrade Oom Guard to 1.1.1
- Include Hot Forge v0.1.36
pldebugger
is now included (from packages)
- Include TimescaleDB 1.7.5 to allow users of TimescaleDB 1.x to keep using this image in combination with PostgreSQL 12 databases.
This release marks the point where we no longer publish images containing PostgreSQL 11.
As every Docker Image we release contains the PostgreSQL version of the tag, but also of the major PostgreSQL version before the tag, that means you can use the following images:
pg13*
: Supports running PostgreSQL 13 and 12pg14*
: Supports running PostgreSQL 14 and 13
For those that used to use the Docker Images tagged with pg12 with PostgreSQL 12
you can now use the pg13
tagged images.
NOTICE: the
pg13
images do have their PATH default to PostgreSQL 13 binaries, so be sure to configure the PATH environment variable correctly in the container that you use.
For example, the timescaledb-single
Helm Chart configures the path based
upon the user input in values.yaml
- We no longer build images containing PostgreSQL 12 and PostgreSQL 11
- We now also build PostgreSQL 14 Docker Images, they include PostgreSQL 14 and 13.
- Include and default to Timescale 2.5.1
- Include Timescale Cloudutils 1.4.0
- Upgrade promscale extension to version 0.3.0
- PostgreSQL 12.9 and 13.5 have been released
- Include dependencies to support native Raft support for Patroni PySyncObj
- Include and default to Timescale 2.4.2
- Include Timescale Cloudutils 1.0.2
- Update Toolkit to 1.3.1
- Include Hot Forge v0.1.35
- Include
timescaledb_cloudutils
v1.0.1 - Include Hot Forge v0.1.33
pg_cron
- Include and default to Timescale 2.4.2
- Build of
timescaledb_cloudutils
This is a major release, as the base Docker Image has changed from Debian to Ubuntu. Our tests have not yet shown any issues with this update. We would advice anyone that consumes these images to test that the new images also work for them in their environment.
As this Docker Image has been in production for a while, it seems awkward to still not be on version 1.0.0+, therefore, we mark this occasion with releasing version 1.0.0.
- Installation of rust compiler inside the Dockerfile
- Base the Docker Image on
ubuntu
(21.04) instead ofrust:debian
- Bump
timescaledb_toolkit
to version 1.2.0
- Support for PostGIS 2.5
- Bump
hot_forge
to 0.1.32
- Bump
hot_forge
to 0.1.31 for publishing
- Bump
hot_forge
to 0.1.31
timescaledb_cloudutils
now actually builds
timescaledb_cloudutils
for non-oss builds
- Bump
hot_forge
to 0.1.18
- Download precompiled hot-forge instead of building from source
- Switch to rust Docker Image base (which is based on Debian itself)
- Include and default to Timescale 2.4.1
- Skip building timescaledb 2.4+ for PostgreSQL 11
- Include and default to Timescale 2.4.0
- Silence warnings about missing Cargo files
- Build process
- Fix building some extensions for non-default Postgres version
- Include downgrade scripts if available
- Include and default to Timescale 2.3.1
- Bump
hot_forge
to 0.1.20
- Bump
hot_forge
to 0.1.18 - Upgrade promscale extension to version 0.2.0
- Rename Analytics to Toolkit and up to 1.0.0 (#129)
- Bump
hot_forge
to 0.1.14
- Bump
hot_forge
to 0.1.13
hot_forge
: A private Timescale Project allowing hot patching of containers
- Bump
timescale_analytics
to 0.3.0 - Make all compiled extensions owned by
postgres
: Allows hot-patching
sqlite_fdw
: The potential use case switched to usingfile_fdw
- Include and default to Timescale 2.3.0
gdb
andgdbserver
to aid in debugging- pg_stat_kcache extension: Gathers statistics about real reads and writes done by the filesystem layer
- Label Docker Image with all minor PostgreSQL versions
- PostgreSQL 12.7 and 13.3 have been released
- Include and default to Timescale 2.2.1
- Include and default to Timescale 2.2.0
- Bump promscale_extension to 0.1.2 and build for PostgreSQL 13
- PostgreSQL 13 images
- pg_repack extension: Reorganize tables in PostgreSQL databases with minimal locks
- hypopg extension: HypoPG is a PostgreSQL extension adding support for hypothetical indexes.
- timescale_analytics was upgraded
- PostgreSQL 11 images
-
Allow additional extensions to be added to a running container
If enabled, this allows one to create new extension libraries and new supporting files in their respective directories. Files that are part of the Docker Image are guarded against mutations, so only new files can be added.
- Include and default to Timescale 2.1.1
- CI/CD has moved from gitlab to GitHub actions
- Images now get pushed to
timescale/timescaledb-ha
(used to betimescaledev/timescaledb-ha
) - Built images also get labeled with the available TimescaleDB versions in the image, for example: "com.timescaledb.image.timescaledb.available_versions": "1.7.0,1.7.1,1.7.2,1.7.3,1.7.4,1.7.5,2.0.0,2.0.0-rc3,2.0.0-rc4,2.0.1,2.0.2,2.1.0"
- timescale-prometheus superseeded by (promscale)
- pg_prometheus: Was already excluded from being built for a long while
- Include Timescale 2.0.2 and 2.1.0 and default to 2.1.0
- Include Extension pg_auth_mon
- Include Extension logerrors
- TimescaleDB 1.7.5 was released
- TimescaleDB 2.0.1 was released
- Default to Timescale 2.0.0
- Include (but not default to) Timescale 2.0.0
- Include (but not default to) Timescale 2.0.0-rc4
- Include (but not default to) Timescale 2.0.0-rc3
- PostgreSQL 11.10 and 12.5 have been released
- Include libraries for Timescale 2.0.0-rc2
- Include promscale extension
- Remove Rust build directories from the final image
- TimescaleDB 1.7.4 was released
- Include pgrouting in the Docker Image
- Timescale-Prometheus 0.1.0-beta.4 was released
- Include hll extension
- TimescaleDB 1.7.3 was released
- Timescale-Prometheus 0.1.0-beta.3 was released
- PostgreSQL 11.9 and 12.4 are released
- Upgrade
timescale_prometheus
to version0.1.0-beta.1
pgBouncer
as part of the image
tsdb_admin
0.1.1 was released
- TimescaleDB 1.7.2 was released
- Docker Image tag names, all images which are mutable are postfixed with
-latest
- Ensure builder is built for every new tagged release
- Include
psutils
to allow some process troubleshooting inside the container - Include custom timescaledb scripts for pgextwlist
lz4
support, which can be used by pgBackResttsdb_admin
can be included in the imagetimescale_prometheus
is now included in the image
- GitLab CI/CD will now publish Docker images to Docker hub on version tags
- TimescaleDB 1.7.1 is released
- PostgreSQL 11.8 and 12.3 are released
These are changes that will probably be included in the next release.
- Include the timescale-prometheus extension by default
- Allow restore from backup even when no master is running
- Deprecate including the
pg_prometheus
extension, it is not built by default anymore - PostgreSQL minor patches are released
- Backup parameters
- Support PostgreSQL 12
- Support for TimescaleDB 1.7 (PostgreSQL 11 & PostgreSQL 12)
- Remove stale pidfile if it exists
- Include
strace
for debugging
- Build 2 sets of Docker images in CI/CD (PostgreSQL 11 & PostgreSQL 12)
- Fail build if a single item in a loop fails
- Some perl dependencies of
pgBackRest
, which are no longer needed aspgBackRest
is now fully written in C
-
PostgreSQL 11.7 was released
-
PostGIS is now included in all the Docker images
This reduces the number of images that need to be built, maintained and supported
-
Add Labels to the Docker images, in line with the Open Container Initiative Annotations Rules for their Image Format Specification.
These labels can be used to identify exact version information of TimescaleDB, PostgreSQL and some other extensions, as well as the default labels for
created
,revision
andsource
.This deprecates adding the
scm-source.json
that was added to the Docker Images. -
Improve build & release process
- Create a additional Docker image including PostGIS
- TimescaleDB 1.6.0 was released
- PostgreSQL 11.6 was released
- TimescaleDB 1.5.1 was released
- Reduce log output during installation of tsdbadmin scripts
- Include pgextwlist to allow extension whitelisting
- Possibility to build a Docker image for a given repository and/or tag
- TimescaleDB 1.5.0 was released and is now included
- pg_prometheus is now part of the Docker image
- Pass on all PostgreSQL parameters to Patroni
- timescaledb-tune runs with the PG_MAJOR version
- Install tsdbadmin scripts into postgres database
- TimescaleDB 1.4.2 was released, rebuilding the Docker image to include that version
- The default command for the Dockerfile is now "postgres". This ensures we have the same interface as other Docker images out there.
-
Allow PostgreSQL compile time customizations to be made.
Some environments benefit from being able to change things like
NAMEDATALEN
. -
Makefile to aid in building the Docker image
-
Gitlab CI/CD configuration to trigger automated builds
-
Entrypoint for
pgBackRest
-
The TimescaleDB extension is added to the
template1
andpostgres
database -
Git context is injected into the Docker image
-
Default entrypoint is
docker_entrypoint.sh
.This enables the Docker image to also be used in a non-kubernetes environment, allowing developers to run the exact same software as production environments.
-
Default Docker repository names
-
Failure of first backup does not fail the database initialization
- Removed many packages to reduce Docker image size without breaking TimescaleDB
- Only configure a Patroni namespace if a
POD_NAMESPACE
This is the first stable release of the TimescaleDB HA Docker image. It was built from the TimescaleDB Operator before this repository was split away from it.
- A Docker image based on Debian buster
The basic components of the Docker image are:
- TimescaleDB, all recent releases
- PostgreSQL
- Patroni
- pgBackRest
This Docker image can be used in the same way as the (smaller) public TimescaleDB Docker image, however this image has HA built in, which leverages Patroni to do auto failover of PostgreSQL if needed.