Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions delivery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ allow_concurrent_steps: true

build_env: &BUILD_ENV
BASE_IMAGE: container-registry.zalando.net/library/ubuntu-22.04
PGVERSION: 18
PGOLDVERSIONS: "16 17"
PGVERSION: 19
PGOLDVERSIONS: "17 18"
MULTI_ARCH_REGISTRY: container-registry-test.zalando.net/acid

pipeline:
Expand Down
16 changes: 8 additions & 8 deletions postgres-appliance/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ARG BASE_IMAGE=ubuntu:22.04
ARG PGVERSION=18
ARG PGVERSION=19
ARG DEMO=false
ARG COMPRESS=false
ARG ADDITIONAL_LOCALES=
Expand Down Expand Up @@ -46,20 +46,20 @@ ARG PGVERSION
ARG TIMESCALEDB_APACHE_ONLY=true
ARG TIMESCALEDB_TOOLKIT=true
ARG COMPRESS
ARG PGOLDVERSIONS="14 15 16 17"
ARG PGOLDVERSIONS="15 16 17 18"
ARG WITH_PERL=false

ARG DEB_PG_SUPPORTED_VERSIONS="$PGOLDVERSIONS $PGVERSION"

# Install PostgreSQL, extensions and contribs
ENV POSTGIS_VERSION=3.6 \
BG_MON_COMMIT=a73c6bcd10dfdf9feaf5eabab7eb6b12d167680d \
PG_AUTH_MON_COMMIT=fe099eef7662cbc85b0b79191f47f52f1e96b779 \
PG_MON_COMMIT=88ac7b58348aa061c814982defc170644f368f39 \
BG_MON_COMMIT=794f0ea14031880e195a9bdc52d2209a33f1bd56 \
PG_AUTH_MON_COMMIT=b7e3f440205414610fd60e402d4f16c4cd59a683 \
PG_MON_COMMIT=7b924e2a2d0095b72f4d11de262180c6cbd2c9f1 \
PLPROFILER=REL4_2_5 \
PG_PROFILE=4.11 \
PG_PROFILE=4.14 \
PAM_OAUTH2=v1.0.1 \
PG_TEXTSEARCH=v1.0.0
PG_TEXTSEARCH=v1.3.0

WORKDIR /builddeps
RUN bash base.sh
Expand All @@ -70,7 +70,7 @@ COPY --from=dependencies-builder /builddeps/wal-g /usr/local/bin/
COPY build_scripts/patroni.sh build_scripts/compress_build.sh /builddeps/

# Install patroni
ENV PATRONIVERSION=4.1.0
ENV PATRONIVERSION=4.1.3

WORKDIR /

Expand Down
58 changes: 35 additions & 23 deletions postgres-appliance/build_scripts/base.sh
Original file line number Diff line number Diff line change
Expand Up @@ -76,42 +76,47 @@ for version in $DEB_PG_SUPPORTED_VERSIONS; do
EXTRAS=("postgresql-pltcl-${version}"
"postgresql-${version}-dirtyread"
"postgresql-${version}-extra-window-functions"
"postgresql-${version}-first-last-agg"
"postgresql-${version}-hll"
"postgresql-${version}-hypopg"
"postgresql-${version}-partman"
"postgresql-${version}-plproxy"
"postgresql-${version}-pgaudit"
"postgresql-${version}-pldebugger"
"postgresql-${version}-pglogical"
"postgresql-${version}-plpgsql-check"
"postgresql-${version}-pg-checksums"
"postgresql-${version}-pgq-node"
"postgresql-${version}-postgis-${POSTGIS_VERSION%.*}"
"postgresql-${version}-postgis-${POSTGIS_VERSION%.*}-scripts"
"postgresql-${version}-repack"
"postgresql-${version}-wal2json"
"postgresql-${version}-decoderbufs"
"postgresql-${version}-pllua"
"postgresql-${version}-pgvector"
"postgresql-${version}-roaringbitmap"
"postgresql-${version}-pgfaceting")
"postgresql-${version}-roaringbitmap")

if [ "$version" != "18" ]; then
if [ "$version" -lt 18 ]; then
EXTRAS+=("postgresql-${version}-pgl-ddl-deploy"
"postgresql-${version}-pglogical-ticker")
fi

if [ "$WITH_PERL" = "true" ]; then
EXTRAS+=("postgresql-plperl-${version}")
if [ "$version" -lt 19 ]; then
EXTRAS+=("postgresql-${version}-first-last-agg"
"postgresql-${version}-plproxy"
"postgresql-${version}-pldebugger"
"postgresql-${version}-pglogical"
"postgresql-${version}-pg-checksums"
"postgresql-${version}-pgq-node"
"postgresql-${version}-wal2json"
"postgresql-${version}-decoderbufs"
"postgresql-${version}-pllua"
"postgresql-${version}-pgfaceting")
fi

if [ "$WITH_PERL" = "true" ]; then
EXTRAS+=("postgresql-plperl-${version}")
fi

fi

if [ "${TIMESCALEDB_APACHE_ONLY}" = "true" ]; then
EXTRAS+=("timescaledb-2-oss-postgresql-${version}")
else
EXTRAS+=("timescaledb-2-postgresql-${version}")
if [ "$version" -lt 19 ]; then
if [ "${TIMESCALEDB_APACHE_ONLY}" = "true" ]; then
EXTRAS+=("timescaledb-2-oss-postgresql-${version}")
else
EXTRAS+=("timescaledb-2-postgresql-${version}")
fi
fi

# Install PostgreSQL binaries, contrib, plproxy and multiple pl's
Expand All @@ -121,12 +126,16 @@ for version in $DEB_PG_SUPPORTED_VERSIONS; do
"postgresql-${version}-pgextwlist" \
"postgresql-plpython3-${version}" \
"postgresql-server-dev-${version}" \
"postgresql-${version}-pgq3" \
"postgresql-${version}-pg-stat-kcache" \
"postgresql-${version}-pg-permissions" \
"postgresql-${version}-set-user" \
"${EXTRAS[@]}"

if [ "$version" -lt 19 ]; then
apt-get install --allow-downgrades -y \
"postgresql-${version}-pgq3"
fi

# Clean up timescaledb versions - keep at least 5 minor versions, but ensure compatibility with the lowest/oldest PG version (where possible)

exclude_patterns=()
Expand Down Expand Up @@ -179,10 +188,13 @@ for version in $DEB_PG_SUPPORTED_VERSIONS; do

EXTRA_EXTENSIONS=()
if [ "$DEMO" != "true" ]; then
EXTRA_EXTENSIONS+=("plprofiler" "pg_mon-${PG_MON_COMMIT}")
if [ "$version" -ge 17 ]; then
EXTRA_EXTENSIONS+=("pg_textsearch")
if [ "$version" -lt 19 ]; then
EXTRA_EXTENSIONS+=("plprofiler")
if [ "$version" -ge 17 ]; then
EXTRA_EXTENSIONS+=("pg_textsearch")
fi
fi
EXTRA_EXTENSIONS+=("pg_mon-${PG_MON_COMMIT}")
fi

for n in bg_mon-${BG_MON_COMMIT} \
Expand Down Expand Up @@ -273,7 +285,7 @@ if [ "$DEMO" != "true" ]; then

for e in pgq pgq_node plproxy address_standardizer address_standardizer_data_us; do
orig=$(basename "$(find . -maxdepth 1 -type f -name "$e--*--*.sql" | head -n1)")
if [ "x$orig" != "x" ]; then
if [ -n "$orig" ]; then
for f in "$e"--*--*.sql; do
if [ "$f" != "$orig" ] && [ ! -L "$f" ] && diff "$f" "$orig" > /dev/null; then
echo "creating symlink $f -> $orig"
Expand Down
2 changes: 1 addition & 1 deletion postgres-appliance/build_scripts/patroni.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ else
EXTRAS=""
fi

pip3 install "patroni[kubernetes$EXTRAS]==$PATRONIVERSION"
pip3 install "patroni[kubernetes$EXTRAS] @ git+https://github.com/patroni/patroni.git@master"

for d in /usr/local/lib/python3.10 /usr/lib/python3; do
cd $d/dist-packages
Expand Down
8 changes: 4 additions & 4 deletions postgres-appliance/scripts/spilo_commons.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
# (min_version, max_version, shared_preload_libraries, extwlist.extensions)
extensions = {
'timescaledb': (9.6, 18, True, True),
'pg_cron': (9.5, 18, True, False),
'pg_stat_kcache': (9.4, 18, True, False),
'pg_partman': (9.4, 18, False, True)
'pg_cron': (9.5, 19, True, False),
'pg_stat_kcache': (9.4, 19, True, False),
'pg_partman': (9.4, 19, False, True)
}
if os.environ.get('ENABLE_PG_MON') == 'true':
extensions['pg_mon'] = (11, 18, True, False)
extensions['pg_mon'] = (11, 19, True, False)

if os.environ.get('ENABLE_PG_TEXTSEARCH') == 'true':
extensions['pg_textsearch'] = (17, 18, True, True)
Expand Down
2 changes: 1 addition & 1 deletion postgres-appliance/tests/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ services:
postgresql:
parameters:
shared_buffers: 32MB
PGVERSION: '14'
PGVERSION: '15'
# Just to test upgrade with clone. Without CLONE_SCOPE they don't work
CLONE_WAL_S3_BUCKET: *bucket
CLONE_AWS_ACCESS_KEY_ID: *access_key
Expand Down
Loading
Loading