Namespace
ixsystems
Image / Tag
postgres-upgrade:1.2.4
Content Digest
sha256:b9eb32d9d28a485379a12aae8c7cdf4aa31966556d4680e4b046394fd39a8291
Details
Created

2026-03-31 14:59:15 UTC

Size

383 MB

Content Digest
Environment
GOSU_VERSION

1.19

LANG

en_US.utf8

PARADEDB_VERSION

0.22.4

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/18/bin

PGDATA

/var/lib/postgresql/18/docker

PG_MAJOR

18

PG_VERSION

18.3-1.pgdg13+1

VCHORD_VERSION

0.5.3


Layers

[#000] sha256:ec781dee3f4719c2ca0dd9e73cb1d4ed834ed1a406495eb6e44b6dfaad5d1f8f - 7.42% (28.4 MB)

[#001] sha256:ce2467f2f21d99c3bd38700663d79d2130e120dc0e336e300d8818f03c27e74c - 0.0% (1.14 KB)

[#002] sha256:d4ced18622af7809be6eb08f66f0ece3b5e203212dbcf1d02a1d70d458f46c7c - 1.6% (6.14 MB)

[#003] sha256:af73ff344a10f7cb8311464a4c83bb41d0f297bddba450cfbb54e6c2a8ecc1f7 - 0.31% (1.2 MB)

[#004] sha256:07cec992154a6d24a634aa4244340f2d4c6dbc17c61c6dbcc1ce336520524cd2 - 2.04% (7.82 MB)

[#005] sha256:fd0dcffac314aee19c897dc94f534e42ed26230304579b8d91070dc83b90b64c - 0.33% (1.25 MB)

[#006] sha256:bda354b903ce37407000de778bc230223ace201fef055bcedf95a312d87ff471 - 0.0% (116 Bytes)

[#007] sha256:fcd98f4944fb967f8951cfac9e6ba365da3ab8dfbade10598e054db26e0b1bfb - 0.0% (3.07 KB)

[#008] sha256:917d5439b698283702cfc314b52d0637aac3312ac0f7a4c910abc2428593680e - 28.71% (110 MB)

[#009] sha256:daebffc75218a750807dc69a4b97840a6e8b093db56dc714a4d24910aeee7dd6 - 0.0% (18.9 KB)

[#010] sha256:895ed9837058ff7a5ca5e995ad279f443bea86ce174047c7c851d9d046d819c3 - 0.0% (128 Bytes)

[#011] sha256:365add159c690bbf971bb30d2cf412219d1fef3f7dbd17715dd24bbba24b9ca1 - 0.0% (5.7 KB)

[#012] sha256:f3bba6db66bcfe1e998d394b714480e3e02c2e15e525348255b2e88c6b722a59 - 0.0% (183 Bytes)

[#013] sha256:5ca69141428c9a6364794ffd4b382ab6d1c5e36d1d2b2526f6e27e56c74448c3 - 4.31% (16.5 MB)

[#014] sha256:637c069669a1c5d0b422201bcbea783d1164d0a310e52685ebb44d71ea057903 - 35.94% (138 MB)

[#015] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#016] sha256:f8a7e7d1d66b7f795b18e53be7294d5cbe182df46fd2da7c76bd8ba4d636e044 - 1.53% (5.86 MB)

[#017] sha256:9aabd6a3d656ee70807107946cfacb2596359e68c1e15ba67504288610eda5c2 - 17.79% (68.1 MB)

[#018] sha256:87e77749b7efb30ffe48f352a739da84baff5993a6d3312cf08f1e5940332b65 - 0.0% (9 KB)

[#019] sha256:13e4df8f32454cda57dd5d65cdb5da7096b4862a608fbb312f4c236fcc9d004a - 0.0% (9.3 KB)

[#020] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#021] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#022] sha256:0936e87983ec2c66b66260bf6797264865cacb2e878ede467492cff33fc2642d - 0.0% (451 Bytes)

[#023] sha256:502e5c731271f7fe68cf8d218ad41b99741290ae35ae87f8ef991aac4defae31 - 0.0% (5.85 KB)

[#024] sha256:62a013262c28baae64e10346f44cffdbcd98c9b21dafed7482e248b075e5aee3 - 0.0% (5.85 KB)

[#025] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-03-16 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'amd64' out/ 'trixie' '@1773619200'

2026-03-16 22:33:29 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; groupadd -r postgres --gid=999; useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit

2026-03-16 22:33:35 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends gnupg less ; rm -rf /var/lib/apt/lists/* # buildkit

2026-03-16 22:33:42 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.19

2026-03-16 22:33:42 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends ca-certificates wget; rm -rf /var/lib/apt/lists/*; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit

2026-03-16 22:33:47 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; if [ -f /etc/dpkg/dpkg.cfg.d/docker ]; then grep -q '/usr/share/locale' /etc/dpkg/dpkg.cfg.d/docker; sed -ri '/\/usr\/share\/locale/d' /etc/dpkg/dpkg.cfg.d/docker; ! grep -q '/usr/share/locale' /etc/dpkg/dpkg.cfg.d/docker; fi; apt-get update; apt-get install -y --no-install-recommends locales; rm -rf /var/lib/apt/lists/*; echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen; locale-gen; locale -a | grep 'en_US.utf8' # buildkit

2026-03-16 22:33:47 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2026-03-16 22:33:50 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends libnss-wrapper xz-utils zstd ; rm -rf /var/lib/apt/lists/* # buildkit

2026-03-16 22:33:51 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit

2026-03-16 22:33:51 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; export GNUPGHOME="$(mktemp -d)"; mkdir -p /usr/local/share/keyrings/; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; gpgconf --kill all; rm -rf "$GNUPGHOME" # buildkit

2026-03-16 22:33:51 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=18

2026-03-16 22:33:51 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/18/bin

2026-03-16 22:33:51 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=18.3-1.pgdg13+1

2026-03-16 22:34:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; export PYTHONDONTWRITEBYTECODE=1; dpkgArch="$(dpkg --print-architecture)"; aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt trixie-pgdg main $PG_MAJOR"; case "$dpkgArch" in amd64 | arm64 | ppc64el) echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; apt-get update; ;; *) echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; savedAptMark="$(apt-mark showmanual)"; tempDir="$(mktemp -d)"; cd "$tempDir"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev; echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; _update_repo() { dpkg-scanpackages . > Packages; apt-get -o Acquire::GzipIndexes=false update; }; _update_repo; nproc="$(nproc)"; export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; apt-get build-dep -y postgresql-common-dev; apt-get source --compile postgresql-common-dev; _update_repo; apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; apt-mark showmanual | xargs apt-mark auto > /dev/null; apt-mark manual $savedAptMark; ls -lAFh; _update_repo; grep '^Package: ' Packages; cd /; ;; esac; apt-get install -y --no-install-recommends postgresql-common; sed -ri 's/#(create_main_cluster) .*$/\1 = false/' /etc/postgresql-common/createcluster.conf; apt-get install -y --no-install-recommends "postgresql-$PG_MAJOR=$PG_VERSION" ; if apt-get install -s "postgresql-$PG_MAJOR-jit" > /dev/null 2>&1; then apt-get install -y --no-install-recommends "postgresql-$PG_MAJOR-jit=$PG_VERSION"; fi; rm -rf /var/lib/apt/lists/*; if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove; rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi; find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +; postgres --version # buildkit

2026-03-16 22:34:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; dpkg-divert --add --rename --divert "/usr/share/postgresql/postgresql.conf.sample.dpkg" "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample"; cp -v /usr/share/postgresql/postgresql.conf.sample.dpkg /usr/share/postgresql/postgresql.conf.sample; ln -sv ../postgresql.conf.sample "/usr/share/postgresql/$PG_MAJOR/"; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample # buildkit

2026-03-16 22:34:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit

2026-03-16 22:34:08 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/18/docker

2026-03-16 22:34:08 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql]

2026-03-16 22:34:09 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit

2026-03-16 22:34:09 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit

2026-03-16 22:34:09 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2026-03-16 22:34:09 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2026-03-16 22:34:09 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2026-03-16 22:34:09 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

2026-03-31 14:58:50 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update # buildkit

2026-03-31 14:59:06 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get install -y --no-install-recommends rsync zstd wget tzdata-legacy ca-certificates postgresql-16 postgresql-17 postgresql-17-postgis-3 postgresql-18-postgis-3 postgresql-17-pgvector postgresql-18-pgvector postgresql-17-cron postgresql-18-cron postgresql-17-pg-ivm postgresql-18-pg-ivm # buildkit

2026-03-31 14:59:06 UTC (buildkit.dockerfile.v0)

WORKDIR /tmp

2026-03-31 14:59:09 UTC (buildkit.dockerfile.v0)

ENV VCHORD_VERSION=0.5.3

2026-03-31 14:59:09 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH=$(dpkg --print-architecture) && wget -q "https://github.com/tensorchord/VectorChord/releases/download/${VCHORD_VERSION}/postgresql-17-vchord_${VCHORD_VERSION}-1_${ARCH}.deb" && wget -q "https://github.com/tensorchord/VectorChord/releases/download/${VCHORD_VERSION}/postgresql-18-vchord_${VCHORD_VERSION}-1_${ARCH}.deb" && apt-get install -y --no-install-recommends "./postgresql-17-vchord_${VCHORD_VERSION}-1_${ARCH}.deb" "./postgresql-18-vchord_${VCHORD_VERSION}-1_${ARCH}.deb" && rm -f ./*.deb # buildkit

2026-03-31 14:59:09 UTC (buildkit.dockerfile.v0)

ENV PARADEDB_VERSION=0.22.4

2026-03-31 14:59:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH=$(dpkg --print-architecture) && wget -q "https://github.com/paradedb/paradedb/releases/download/v${PARADEDB_VERSION}/postgresql-18-pg-search_${PARADEDB_VERSION}-1PARADEDB-trixie_${ARCH}.deb" && apt-get install -y --no-install-recommends "./postgresql-18-pg-search_${PARADEDB_VERSION}-1PARADEDB-trixie_${ARCH}.deb" && rm -f ./*.deb # buildkit

2026-03-31 14:59:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/16/postgresql.conf.sample && grep -F "listen_addresses = '*'" /usr/share/postgresql/16/postgresql.conf.sample # buildkit

2026-03-31 14:59:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/17/postgresql.conf.sample && grep -F "listen_addresses = '*'" /usr/share/postgresql/17/postgresql.conf.sample # buildkit

2026-03-31 14:59:14 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get autoremove -y # buildkit

2026-03-31 14:59:14 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get autoclean -y # buildkit

2026-03-31 14:59:15 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c rm -rf /var/lib/apt/lists/* # buildkit

2026-03-31 14:59:15 UTC (buildkit.dockerfile.v0)

COPY upgrade.sh /upgrade.sh # buildkit

2026-03-31 14:59:15 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod 777 /upgrade.sh # buildkit

2026-03-31 14:59:15 UTC (buildkit.dockerfile.v0)

WORKDIR /var/lib/postgresql

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete