Skip to content

Commit 0149f51

Browse files
Merge pull request #40 from PiyushRaj927/pg_auto_failover
2 parents 95ea6c3 + 4be1b0f commit 0149f51

File tree

6 files changed

+78
-7
lines changed

6 files changed

+78
-7
lines changed

.github/workflows/smoke-test.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ jobs:
7777
echo "Test pg_repack Extension"
7878
psql -c "CREATE EXTENSION pg_repack;"
7979
psql -c "select repack.version(), repack.version_sql();"
80+
81+
echo "Test pgautofailover Extension"
82+
psql -c "CREATE EXTENSION pgautofailover CASCADE;"
83+
psql -c "SELECT pgautofailover.formation_settings();"
8084
break
8185
fi
8286
sleep 1

Dockerfile

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ RUN set -ex \
7474
&& sed -r -i "s/[#]*\s*(shared_preload_libraries)\s*=\s*'(.*)'/\1 = 'timescaledb,\2'/;s/,'/'/" /usr/local/share/postgresql/postgresql.conf.sample
7575

7676
# Update to shared_preload_libraries
77-
RUN echo "shared_preload_libraries = 'citus,timescaledb,pg_stat_statements'" >> /usr/local/share/postgresql/postgresql.conf.sample
77+
RUN echo "shared_preload_libraries = 'citus,timescaledb,pg_stat_statements,pgautofailover'" >> /usr/local/share/postgresql/postgresql.conf.sample
7878

7979
# Adding PG Vector
8080

@@ -281,4 +281,35 @@ RUN set -eux \
281281
# clean
282282
&& cd / \
283283
&& rm -rf /tmp/pg_repack-${PG_REPACK_VERSION} /tmp/pg_repack.zip \
284-
&& apk del .pg_repack-build-deps
284+
&& apk del .pg_repack-build-deps
285+
286+
# Adding pgautofailover
287+
ARG PG_AUTO_FAILOVER_VERSION
288+
RUN set -eux \
289+
&& apk add --no-cache --virtual .pg_auto_failover-build-deps \
290+
make \
291+
gcc \
292+
musl-dev \
293+
krb5-dev \
294+
openssl-dev \
295+
clang15 \
296+
ncurses-dev \
297+
linux-headers \
298+
zstd-dev \
299+
lz4-dev \
300+
zlib-dev \
301+
libedit-dev \
302+
libxml2-utils \
303+
libxslt-dev \
304+
llvm15 \
305+
# build pg_auto_failover
306+
&& wget -O /tmp/pg_auto_failover-${PG_AUTO_FAILOVER_VERSION}.zip "https://github.com/hapostgres/pg_auto_failover/archive/refs/tags/v${PG_AUTO_FAILOVER_VERSION}.zip" \
307+
&& unzip /tmp/pg_auto_failover-${PG_AUTO_FAILOVER_VERSION}.zip -d /tmp \
308+
&& ls -alh /tmp \
309+
&& cd /tmp/pg_auto_failover-${PG_AUTO_FAILOVER_VERSION} \
310+
&& make \
311+
&& make install \
312+
# clean
313+
&& cd / \
314+
&& rm -rf /tmp/pg_auto_failove-${PG_AUTO_FAILOVER_VERSION} /tmp/pg_auto_failove-${PG_AUTO_FAILOVER_VERSION}.zip \
315+
&& apk del .pg_auto_failover-build-deps

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ PG_VER=pg15
66
CITUS_VERSION="11.2.0"
77
POSTGIS_VERSION=3.3.2
88
PG_REPACK_VERSION = 1.4.8
9+
PG_AUTO_FAILOVER_VERSION = 2.0
910
POSTGIS_SHA256=2a6858d1df06de1c5f85a5b780773e92f6ba3a5dc09ac31120ac895242f5a77b
1011
PG_VER_NUMBER=$(shell echo $(PG_VER) | cut -c3-)
1112
TS_VERSION=main
@@ -58,7 +59,7 @@ default: image
5859
touch .build_$(TS_VERSION)_$(PG_VER)_oss
5960

6061
.build_$(TS_VERSION)_$(PG_VER): Dockerfile
61-
docker build --build-arg PG_VERSION=$(PG_VER_NUMBER) --build-arg TS_VERSION=$(TS_VERSION) --build-arg PREV_IMAGE=$(PREV_IMAGE) --build-arg CITUS_VERSION=$(CITUS_VERSION) --build-arg PG_VER=$(PG_VER) --build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) --build-arg POSTGIS_SHA256=$(POSTGIS_SHA256) $(TAG) .
62+
docker build --build-arg PG_VERSION=$(PG_VER_NUMBER) --build-arg TS_VERSION=$(TS_VERSION) --build-arg PREV_IMAGE=$(PREV_IMAGE) --build-arg CITUS_VERSION=$(CITUS_VERSION) --build-arg PG_VER=$(PG_VER) --build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) --build-arg PG_AUTO_FAILOVER_VERSION=$(PG_AUTO_FAILOVER_VERSION) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) --build-arg POSTGIS_SHA256=$(POSTGIS_SHA256) $(TAG) .
6263
touch .build_$(TS_VERSION)_$(PG_VER)
6364

6465
image: .build_$(TS_VERSION)_$(PG_VER)

bitnami/Dockerfile

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,40 @@ RUN apt-get update \
171171
/tmp/* \
172172
/var/tmp/*
173173

174+
# Adding pgautofailover
175+
ARG PG_AUTO_FAILOVER_VERSION
176+
RUN apt-get update \
177+
&& apt-get install -y unzip \
178+
build-essential \
179+
liblz4-dev \
180+
zlib1g-dev \
181+
libedit-dev \
182+
libssl-dev \
183+
wget \
184+
# build pg_auto_failover
185+
&& wget -O /tmp/pg_auto_failover-${PG_AUTO_FAILOVER_VERSION}.zip "https://github.com/hapostgres/pg_auto_failover/archive/refs/tags/v${PG_AUTO_FAILOVER_VERSION}.zip" \
186+
&& unzip /tmp/pg_auto_failover-${PG_AUTO_FAILOVER_VERSION}.zip -d /tmp \
187+
&& ls -alh /tmp \
188+
&& cd /tmp/pg_auto_failover-${PG_AUTO_FAILOVER_VERSION} \
189+
&& make \
190+
&& make install \
191+
# clean
192+
&& cd / \
193+
&& rm -rf /tmp/pg_auto_failove-${PG_AUTO_FAILOVER_VERSION} /tmp/pg_auto_failove-${PG_AUTO_FAILOVER_VERSION}.zip \
194+
&& apt-get autoremove --purge -y \
195+
unzip \
196+
build-essential \
197+
liblz4-dev \
198+
zlib1g-dev \
199+
libedit-dev \
200+
libssl-dev \
201+
wget \
202+
&& apt-get clean -y \
203+
&& rm -rf \
204+
/var/lib/apt/lists/* \
205+
/tmp/* \
206+
/var/tmp/*
207+
174208
# Install zombodb extension
175209
RUN apt-get update -y -qq --fix-missing \
176210
&& apt-get install -y wget gnupg \

bitnami/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ PG_VER=pg15
66
CITUS_VERSION="11.2.0"
77
POSTGIS_MAJOR=3
88
PG_MAJOR=15
9-
POSTGIS_VERSION=3.3.2+dfsg-1.pgdg110+1
9+
POSTGIS_VERSION=3.3.3+dfsg-1~exp1.pgdg110+1
1010
PG_REPACK_VERSION = 1.4.8
11+
PG_AUTO_FAILOVER_VERSION = 2.0
1112
PG_VER_NUMBER=$(shell echo $(PG_VER) | cut -c3-)
1213

1314
TS_VERSION=main
@@ -26,7 +27,7 @@ default: image
2627
.build_$(TS_VERSION)_$(PG_VER): Dockerfile
2728
test -n "$(TS_VERSION)" # TS_VERSION
2829
test -n "$(PREV_TS_VERSION)" # PREV_TS_VERSION
29-
docker build -f ./Dockerfile --build-arg PG_VERSION=$(PG_VER_NUMBER) --build-arg TS_VERSION=$(TS_VERSION) --build-arg PREV_IMAGE=$(PREV_IMAGE) --build-arg CITUS_VERSION=$(CITUS_VERSION) --build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION) --build-arg POSTGIS_MAJOR=$(POSTGIS_MAJOR) --build-arg PG_MAJOR=$(PG_MAJOR) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) $(TAG) ..
30+
docker build -f ./Dockerfile --build-arg PG_VERSION=$(PG_VER_NUMBER) --build-arg TS_VERSION=$(TS_VERSION) --build-arg PREV_IMAGE=$(PREV_IMAGE) --build-arg CITUS_VERSION=$(CITUS_VERSION) --build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION) --build-arg PG_AUTO_FAILOVER_VERSION=$(PG_AUTO_FAILOVER_VERSION) --build-arg POSTGIS_MAJOR=$(POSTGIS_MAJOR) --build-arg PG_MAJOR=$(PG_MAJOR) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) $(TAG) ..
3031
touch .build_$(TS_VERSION)_$(PG_VER)-bitnami
3132

3233
image: .build_$(TS_VERSION)_$(PG_VER)

bitnami/timescaledb-bitnami-entrypoint.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
# the shared preload list, or else it gets overwritten.
55
if [ -z "$POSTGRESQL_SHARED_PRELOAD_LIBRARIES" ]
66
then
7-
POSTGRESQL_SHARED_PRELOAD_LIBRARIES="citus,timescaledb,zombodb,pg_repack"
7+
POSTGRESQL_SHARED_PRELOAD_LIBRARIES="citus,timescaledb,zombodb,pg_repack,pgautofailover"
88
else
9-
POSTGRESQL_SHARED_PRELOAD_LIBRARIES="citus,timescaledb,zombodb,pg_repack,$POSTGRESQL_SHARED_PRELOAD_LIBRARIES"
9+
POSTGRESQL_SHARED_PRELOAD_LIBRARIES="citus,timescaledb,zombodb,pg_repack,pgautofailover,$POSTGRESQL_SHARED_PRELOAD_LIBRARIES"
1010
fi
1111
export POSTGRESQL_SHARED_PRELOAD_LIBRARIES
1212

0 commit comments

Comments
 (0)