2
2
# If you are using "physical" mode, please check the glibc version in your production database system to avoid potential index corruption.
3
3
# You should have the same version of glibc as in your Docker image.
4
4
5
- ARG PG_SERVER_VERSION=15
6
-
7
- # build-env
8
- FROM postgres:${PG_SERVER_VERSION}-bullseye as build-env
9
-
10
- ARG TARGETPLATFORM
11
-
12
- ARG GO_VERSION
13
- ENV GO_VERSION=${GO_VERSION:-1.22.5}
14
-
15
- ARG WALG_VERSION
16
- ENV WALG_VERSION=${WALG_VERSION:-3.0.2}
17
-
18
- RUN apt-get clean && rm -rf /var/lib/apt/lists/partial \
19
- # install dependencies
20
- && apt-get update -o Acquire::CompressionTypes::Order::=gz \
21
- && apt-get install --no-install-recommends -y apt-transport-https ca-certificates \
22
- wget curl sudo git make cmake gcc build-essential \
23
- libbrotli-dev liblzo2-dev libsodium-dev \
24
- # install Go
25
- && cd /tmp && GO_ARCH=$(if [ -z "${TARGETPLATFORM}" ]; then echo "amd64" ; else echo ${TARGETPLATFORM} | cut -d '/' -f2; fi) \
26
- && export PATH=$PATH:/usr/local/go/bin && wget https://go.dev/dl/go${GO_VERSION}.linux-${GO_ARCH}.tar.gz \
27
- && rm -rf /usr/local/go && tar -C /usr/local -xzf go${GO_VERSION}.linux-${GO_ARCH}.tar.gz \
28
- && export PATH=$PATH:/usr/local/go/bin \
29
- # build WAL-G
30
- && cd /tmp && git clone --branch v${WALG_VERSION} --single-branch https://github.com/wal-g/wal-g.git \
31
- && cd wal-g && export USE_LIBSODIUM=1 && export USE_LZO=1 \
32
- && go mod tidy \
33
- && make deps && GOBIN=/usr/local/bin make pg_install
34
-
5
+ ARG PG_SERVER_VERSION=16
35
6
36
7
# Build the extended image
37
8
FROM postgres:${PG_SERVER_VERSION}-bullseye
38
9
LABEL maintainer="postgres.ai"
39
10
40
- COPY --from=build-env /usr/local/bin/wal-g /usr/local/bin/wal-g
41
-
42
11
ARG PG_SERVER_VERSION
43
- ENV PG_SERVER_VERSION=${PG_SERVER_VERSION:-15 }
12
+ ENV PG_SERVER_VERSION=${PG_SERVER_VERSION:-16 }
44
13
45
14
ARG PG_UNIX_SOCKET_DIR
46
15
ENV PG_UNIX_SOCKET_DIR=${PG_UNIX_SOCKET_DIR:-"/var/run/postgresql" }
47
16
48
17
ARG PG_SERVER_PORT
49
18
ENV PG_SERVER_PORT=${PG_SERVER_PORT:-5432}
50
19
20
+ ARG WALG_VERSION
21
+ ENV WALG_VERSION=${WALG_VERSION:-3.0.3}
22
+
51
23
ARG PG_TIMETABLE_VERSION
52
24
ENV PG_TIMETABLE_VERSION=${PG_TIMETABLE_VERSION:-5.9.0}
25
+
53
26
ARG SET_USER_VERSION
54
- ENV SET_USER_VERSION=${SET_USER_VERSION:-REL4_0_1}
27
+ ENV SET_USER_VERSION=${SET_USER_VERSION:-REL4_1_0}
28
+
55
29
ARG LOGERRORS_VERSION
56
- ENV LOGERRORS_VERSION=${LOGERRORS_VERSION:-2.1.2}
30
+ ENV LOGERRORS_VERSION=${LOGERRORS_VERSION:-2.1.3}
31
+
57
32
ARG PGVECTOR_VERSION
58
- ENV PGVECTOR_VERSION=${PGVECTOR_VERSION:-0.7.2}
33
+ ENV PGVECTOR_VERSION=${PGVECTOR_VERSION:-0.7.4}
34
+
59
35
# https://gitlab.com/postgres-ai/custom-images/-/merge_requests/56
60
36
ARG PG_CRON_VERSION
61
37
ENV PG_CRON_VERSION=${PG_CRON_VERSION:-1.4.2}
@@ -170,9 +146,12 @@ RUN apt-get clean && rm -rf /var/lib/apt/lists/partial \
170
146
# pgextwlist extension
171
147
&& apt-get install --no-install-recommends -y postgresql-${PG_SERVER_VERSION}-pgextwlist \
172
148
# set_user extension
173
- && if [ $(echo "$PG_SERVER_VERSION < 16 " | /usr/bin/bc) = "1" ]; then \
149
+ && if [ $(echo "$PG_SERVER_VERSION >= 12 " | /usr/bin/bc) = "1" ]; then \
174
150
cd /tmp && git clone https://github.com/pgaudit/set_user.git \
175
151
&& cd set_user && git checkout ${SET_USER_VERSION} && make USE_PGXS=1 && make USE_PGXS=1 install; \
152
+ elif [ $(echo "$PG_SERVER_VERSION < 12" | /usr/bin/bc) = "1" ]; then \
153
+ cd /tmp && git clone https://github.com/pgaudit/set_user.git \
154
+ && cd set_user && git checkout REL4_0_1 && make USE_PGXS=1 && make USE_PGXS=1 install; \
176
155
fi \
177
156
# logerrors extension
178
157
&& if [ $(echo "$PG_SERVER_VERSION > 9.6" | /usr/bin/bc) = "1" ]; then \
@@ -199,6 +178,11 @@ RUN apt-get clean && rm -rf /var/lib/apt/lists/partial \
199
178
pgbackrest zstd openssh-client \
200
179
&& mkdir -p -m 700 /var/lib/postgresql/.ssh \
201
180
&& chown postgres:postgres /var/lib/postgresql/.ssh \
181
+ # WAL-G
182
+ && wget https://github.com/wal-g/wal-g/releases/download/v"${WALG_VERSION}" /wal-g-pg-ubuntu-20.04-amd64.tar.gz \
183
+ && tar -zxvf wal-g-pg-ubuntu-20.04-amd64.tar.gz \
184
+ && mv wal-g-pg-ubuntu-20.04-amd64 /usr/local/bin/wal-g \
185
+ && wal-g --version \
202
186
# remove all auxilary packages to reduce final image size
203
187
&& cd / && rm -rf /tmp/* && apt-get purge -y --auto-remove \
204
188
gcc make wget unzip curl libc6-dev apt-transport-https git \
0 commit comments