Skip to content

Commit 8db1c38

Browse files
authored
add pg_repack (#135)
Signed-off-by: Piyush Raj <[email protected]>
1 parent 1aae405 commit 8db1c38

File tree

6 files changed

+64
-1
lines changed

6 files changed

+64
-1
lines changed

.github/workflows/smoke-test.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ jobs:
7575
psql -c "INSERT INTO test_distributed_table (data) VALUES ('test data');"
7676
psql -c "SELECT * FROM test_distributed_table;"
7777
78+
echo "Test pg_repack Extension"
79+
psql -c "CREATE EXTENSION pg_repack;"
80+
psql -c "select repack.version(), repack.version_sql();"
7881
break
7982
fi
8083
sleep 1

Dockerfile

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,3 +236,29 @@ RUN set -ex \
236236
&& rm -rf /tmp/citus.tar.gz /tmp/citus-${CITUS_VERSION} \
237237
&& apk del .citus-deps .citus-build-deps
238238

239+
240+
241+
## Adding pg_repack
242+
ARG PG_REPACK_VERSION
243+
RUN set -eux \
244+
&& apk add --no-cache --virtual .pg_repack-build-deps \
245+
openssl-dev \
246+
zstd-dev \
247+
lz4-dev \
248+
zlib-dev \
249+
make \
250+
clang15 \
251+
gawk \
252+
llvm15 \
253+
gcc \
254+
musl-dev \
255+
# build pg_repack
256+
&& wget -O /tmp/pg_repack-${PG_REPACK_VERSION}.zip "https://api.pgxn.org/dist/pg_repack/${PG_REPACK_VERSION}/pg_repack-${PG_REPACK_VERSION}.zip" \
257+
&& unzip /tmp/pg_repack-${PG_REPACK_VERSION}.zip -d /tmp \
258+
&& cd /tmp/pg_repack-${PG_REPACK_VERSION} \
259+
&& make \
260+
&& make install \
261+
# clean
262+
&& cd / \
263+
&& rm -rf /tmp/pg_repack-${PG_REPACK_VERSION} /tmp/pg_repack.zip \
264+
&& apk del .pg_repack-build-deps

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ TS_VERSION=2.13.0
88
PG_CRON_VERSION=v1.6.0
99
POSTGIS_VERSION=3.4.2
1010
CITUS_VERSION=12.1.0
11+
PG_REPACK_VERSION=1.5.0
1112
PREV_TS_VERSION=$(shell wget --quiet -O - https://raw.githubusercontent.com/timescale/timescaledb/${TS_VERSION}/version.config | grep update_from_version | sed -e 's!update_from_version = !!')
1213
PREV_TS_IMAGE="timescale/timescaledb:$(PREV_TS_VERSION)-pg$(PG_VER_NUMBER)$(PREV_EXTRA)"
1314
PREV_IMAGE=$(shell if docker pull $(PREV_TS_IMAGE) >/dev/null; then echo "$(PREV_TS_IMAGE)"; else echo "postgres:$(PG_VER_NUMBER)-alpine"; fi )
@@ -31,6 +32,7 @@ DOCKER_BUILD_ARGS = --build-arg TS_VERSION=$(TS_VERSION) \
3132
--build-arg PG_VERSION=$(PG_VER_NUMBER) \
3233
--build-arg PREV_IMAGE=$(PREV_IMAGE) \
3334
--build-arg PG_CRON_VERSION=$(PG_CRON_VERSION) \
35+
--build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION)\
3436
--build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) \
3537
--build-arg CITUS_VERSION=$(CITUS_VERSION)
3638

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
- [x] [PgCron ](https://github.com/citusdata/pg_cron)
99
- [x] [PostGIS](https://postgis.net)
1010
- [x] [Citus](https://www.citusdata.com/)
11-
11+
- [x] [Pg Repack](https://github.com/reorg/pg_repack)
1212
## Releases
1313
- [Versioning Policy](./docs/version-policy.md)
1414

bitnami/Dockerfile

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,36 @@ RUN set -eux \
243243
/tmp/* \
244244
/var/tmp/*
245245

246+
# Add pg_repack Extention
247+
ARG PG_REPACK_VERSION
248+
249+
RUN apt-get update \
250+
&& apt-get install -y unzip \
251+
build-essential \
252+
liblz4-dev \
253+
zlib1g-dev \
254+
libssl-dev \
255+
wget \
256+
# build pg_repack
257+
&& wget -O /tmp/pg_repack-${PG_REPACK_VERSION}.zip "https://api.pgxn.org/dist/pg_repack/${PG_REPACK_VERSION}/pg_repack-${PG_REPACK_VERSION}.zip" \
258+
&& unzip /tmp/pg_repack-${PG_REPACK_VERSION}.zip -d /tmp \
259+
&& cd /tmp/pg_repack-${PG_REPACK_VERSION} \
260+
&& make \
261+
&& make install \
262+
#clean
263+
&& apt-get autoremove --purge -y \
264+
unzip \
265+
build-essential \
266+
liblz4-dev \
267+
libssl-dev \
268+
zlib1g-dev \
269+
wget \
270+
&& apt-get clean -y \
271+
&& rm -rf \
272+
/var/lib/apt/lists/* \
273+
/tmp/* \
274+
/var/tmp/*
275+
246276
USER 1001
247277

248278
ENTRYPOINT [ "/opt/bitnami/scripts/postgresql/timescaledb-bitnami-entrypoint.sh" ]

bitnami/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ PG_CRON_VERSION=v1.6.0
88
TS_VERSION=2.13.0
99
POSTGIS_VERSION=3.4.2
1010
CITUS_VERSION=12.1.0
11+
PG_REPACK_VERSION=1.5.0
1112
PREV_TS_VERSION=$(shell wget --quiet -O - https://raw.githubusercontent.com/timescale/timescaledb/${TS_VERSION}/version.config | grep update_from_version | sed -e 's!update_from_version = !!')
1213
PREV_TS_IMAGE="timescale/timescaledb:$(PREV_TS_VERSION)-pg$(PG_VER_NUMBER)-bitnami"
1314
PREV_IMAGE=$(shell if docker pull $(PREV_TS_IMAGE) >/dev/null; then echo "$(PREV_TS_IMAGE)"; else echo "bitnami/postgresql:$(PG_VER_NUMBER)"; fi )
@@ -28,6 +29,7 @@ DOCKER_BUILD_ARGS = --build-arg PG_VERSION=$(PG_VER_NUMBER) \
2829
--build-arg TS_VERSION=$(TS_VERSION) \
2930
--build-arg PREV_IMAGE=$(PREV_IMAGE) \
3031
--build-arg PG_CRON_VERSION=$(PG_CRON_VERSION) \
32+
--build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION) \
3133
--build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) \
3234
--build-arg CITUS_VERSION=$(CITUS_VERSION)
3335

0 commit comments

Comments
 (0)