Skip to content

Commit 1ed1a48

Browse files
Merge pull request #44 from PiyushRaj927/add_hll
add hyperloglog
2 parents 9ff4bde + 79e8b25 commit 1ed1a48

File tree

6 files changed

+71
-4
lines changed

6 files changed

+71
-4
lines changed

.github/workflows/smoke-test.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ jobs:
8282
echo "Test pgautofailover Extension"
8383
psql -c "CREATE EXTENSION pgautofailover CASCADE;"
8484
psql -c "SELECT pgautofailover.formation_settings();"
85+
86+
echo "Test HyperLogLog Extension"
87+
psql -c "CREATE EXTENSION hll;"
88+
psql -c "select hll_hash_text('hello world');"
8589
break
8690
fi
8791
sleep 1

Dockerfile

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,3 +313,31 @@ RUN set -eux \
313313
&& cd / \
314314
&& rm -rf /tmp/pg_auto_failove-${PG_AUTO_FAILOVER_VERSION} /tmp/pg_auto_failove-${PG_AUTO_FAILOVER_VERSION}.zip \
315315
&& apk del .pg_auto_failover-build-deps
316+
317+
318+
## Adding postgresql-hll
319+
ARG POSTGRES_HLL_VERSION
320+
RUN set -eux \
321+
&& apk add --no-cache --virtual .postgresql-hll-build-deps \
322+
openssl-dev \
323+
zstd-dev \
324+
lz4-dev \
325+
zlib-dev \
326+
make \
327+
git \
328+
clang15 \
329+
gawk \
330+
llvm15 \
331+
g++ \
332+
musl-dev \
333+
# build postgresql-hll
334+
&& wget -O /tmp/postgresql-hll-${POSTGRES_HLL_VERSION}.zip "https://github.com/citusdata/postgresql-hll/archive/refs/tags/v${POSTGRES_HLL_VERSION}.zip" \
335+
&& unzip /tmp/postgresql-hll-${POSTGRES_HLL_VERSION}.zip -d /tmp \
336+
&& cd /tmp/postgresql-hll-${POSTGRES_HLL_VERSION} \
337+
&& make \
338+
&& make install \
339+
# clean
340+
&& cd / \
341+
&& rm -rf /tmp/postgresql-hll-${POSTGRES_HLL_VERSION} /tmp/postgresql-hll-${POSTGRES_HLL_VERSION}.zip \
342+
&& apk del .postgresql-hll-build-deps
343+

Makefile

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

6162
.build_$(TS_VERSION)_$(PG_VER): Dockerfile
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) .
63+
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 POSTGRES_HLL_VERSION=$(POSTGRES_HLL_VERSION) --build-arg PG_AUTO_FAILOVER_VERSION=$(PG_AUTO_FAILOVER_VERSION) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) --build-arg POSTGIS_SHA256=$(POSTGIS_SHA256) $(TAG) .
6364
touch .build_$(TS_VERSION)_$(PG_VER)
6465

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

bitnami/Dockerfile

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,39 @@ RUN apt-get update \
205205
/tmp/* \
206206
/var/tmp/*
207207

208+
## Adding postgresql-hll
209+
ARG POSTGRES_HLL_VERSION
210+
RUN apt-get update \
211+
&& apt-get install -y unzip \
212+
build-essential \
213+
liblz4-dev \
214+
zlib1g-dev \
215+
libedit-dev \
216+
libssl-dev \
217+
wget \
218+
# build postgresql-hll
219+
&& wget -O /tmp/postgresql-hll-${POSTGRES_HLL_VERSION}.zip "https://github.com/citusdata/postgresql-hll/archive/refs/tags/v${POSTGRES_HLL_VERSION}.zip" \
220+
&& unzip /tmp/postgresql-hll-${POSTGRES_HLL_VERSION}.zip -d /tmp \
221+
&& cd /tmp/postgresql-hll-${POSTGRES_HLL_VERSION} \
222+
&& make \
223+
&& make install \
224+
# clean
225+
&& cd / \
226+
&& rm -rf /tmp/postgresql-hll-${POSTGRES_HLL_VERSION} /tmp/postgresql-hll-${POSTGRES_HLL_VERSION}.zip \
227+
&& apt-get autoremove --purge -y \
228+
unzip \
229+
build-essential \
230+
liblz4-dev \
231+
zlib1g-dev \
232+
libedit-dev \
233+
libssl-dev \
234+
wget \
235+
&& apt-get clean -y \
236+
&& rm -rf \
237+
/var/lib/apt/lists/* \
238+
/tmp/* \
239+
/var/tmp/*
240+
208241
# Install zombodb extension
209242
RUN apt-get update -y -qq --fix-missing \
210243
&& apt-get install -y wget gnupg \

bitnami/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ PG_MAJOR=15
99
POSTGIS_VERSION=3.3.3+dfsg-1~exp1.pgdg110+1
1010
PG_REPACK_VERSION = 1.4.8
1111
PG_AUTO_FAILOVER_VERSION = 2.0
12+
POSTGRES_HLL_VERSION = 2.17
1213
PG_VER_NUMBER=$(shell echo $(PG_VER) | cut -c3-)
1314

1415
TS_VERSION=main
@@ -27,7 +28,7 @@ default: image
2728
.build_$(TS_VERSION)_$(PG_VER): Dockerfile
2829
test -n "$(TS_VERSION)" # TS_VERSION
2930
test -n "$(PREV_TS_VERSION)" # PREV_TS_VERSION
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) ..
31+
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 POSTGRES_HLL_VERSION=$(POSTGRES_HLL_VERSION) --build-arg POSTGIS_MAJOR=$(POSTGIS_MAJOR) --build-arg PG_MAJOR=$(PG_MAJOR) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) $(TAG) ..
3132
touch .build_$(TS_VERSION)_$(PG_VER)-bitnami
3233

3334
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,pgautofailover"
7+
POSTGRESQL_SHARED_PRELOAD_LIBRARIES="citus,timescaledb,zombodb,pg_repack,pgautofailover,hll"
88
else
9-
POSTGRESQL_SHARED_PRELOAD_LIBRARIES="citus,timescaledb,zombodb,pg_repack,pgautofailover,$POSTGRESQL_SHARED_PRELOAD_LIBRARIES"
9+
POSTGRESQL_SHARED_PRELOAD_LIBRARIES="citus,timescaledb,zombodb,pg_repack,pgautofailover,hll,$POSTGRESQL_SHARED_PRELOAD_LIBRARIES"
1010
fi
1111
export POSTGRESQL_SHARED_PRELOAD_LIBRARIES
1212

0 commit comments

Comments
 (0)