-
Notifications
You must be signed in to change notification settings - Fork 69
Expand file tree
/
Copy pathDockerfile
More file actions
39 lines (27 loc) · 778 Bytes
/
Dockerfile
File metadata and controls
39 lines (27 loc) · 778 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
FROM postgres:18 AS build
RUN apt update \
&& apt install -y \
curl \
gcc \
make \
pkg-config \
postgresql-server-dev-18 \
&& rm -rf /var/lib/apt/lists/*
RUN curl https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:$PATH"
RUN cargo install --locked cargo-pgrx@0.16.1 \
&& cargo pgrx init --pg18=$(which pg_config)
WORKDIR pg_mooncake
COPY Cargo.toml Makefile pg_mooncake.control .
COPY moonlink moonlink
COPY src src
RUN make package
FROM pgduckdb/pgduckdb:18-main
COPY --from=build /pg_mooncake/target/release/pg_mooncake-pg18/ /
USER root
RUN cat >> /usr/share/postgresql/postgresql.conf.sample <<EOF
duckdb.allow_community_extensions = true
shared_preload_libraries = 'pg_duckdb,pg_mooncake'
wal_level = logical
EOF
USER postgres