diff --git a/Dockerfile.compute-node b/Dockerfile.compute-node index 12cd4fbbd1..fc65448323 100644 --- a/Dockerfile.compute-node +++ b/Dockerfile.compute-node @@ -323,7 +323,7 @@ RUN curl -sSO https://static.rust-lang.org/rustup/dist/$(uname -m)-unknown-linux chmod +x rustup-init && \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain stable && \ rm rustup-init && \ - cargo install --git https://github.com/vadim2404/pgx --branch neon_abi_v0.6.1 --locked cargo-pgx && \ + cargo install --locked --version 0.7.3 cargo-pgx && \ /bin/bash -c 'cargo pgx init --pg${PG_VERSION:1}=/usr/local/pgsql/bin/pg_config' USER root @@ -337,11 +337,11 @@ USER root FROM rust-extensions-build AS pg-jsonschema-pg-build -RUN git clone --depth=1 --single-branch --branch neon_abi_v0.1.4 https://github.com/vadim2404/pg_jsonschema/ && \ - cd pg_jsonschema && \ +# there is no release tag yet, but we need it due to the superuser fix in the control file +RUN wget https://github.com/supabase/pg_jsonschema/archive/caeab60d70b2fd3ae421ec66466a3abbb37b7ee6.tar.gz -O pg_jsonschema.tar.gz && \ + mkdir pg_jsonschema-src && cd pg_jsonschema-src && tar xvzf ../pg_jsonschema.tar.gz --strip-components=1 -C . && \ + sed -i 's/pgx = "0.7.1"/pgx = { version = "0.7.3", features = [ "unsafe-postgres" ] }/g' Cargo.toml && \ cargo pgx install --release && \ - # it's needed to enable extension because it uses untrusted C language - sed -i 's/superuser = false/superuser = true/g' /usr/local/pgsql/share/extension/pg_jsonschema.control && \ echo "trusted = true" >> /usr/local/pgsql/share/extension/pg_jsonschema.control ######################################################################################### @@ -353,8 +353,13 @@ RUN git clone --depth=1 --single-branch --branch neon_abi_v0.1.4 https://github. FROM rust-extensions-build AS pg-graphql-pg-build -RUN git clone --depth=1 --single-branch --branch neon_abi_v1.1.0 https://github.com/vadim2404/pg_graphql && \ - cd pg_graphql && \ +# Currently pgx version bump to >= 0.7.2 causes "call to unsafe function" compliation errors in +# pgx-contrib-spiext. There is a branch that removes that dependency, so use it. It is on the +# same 1.1 version we've used before. +RUN git clone -b remove-pgx-contrib-spiext --single-branch https://github.com/yrashk/pg_graphql && \ + cd pg_graphql && \ + sed -i 's/pgx = "~0.7.1"/pgx = { version = "0.7.3", features = [ "unsafe-postgres" ] }/g' Cargo.toml && \ + sed -i 's/pgx-tests = "~0.7.1"/pgx-tests = "0.7.3"/g' Cargo.toml && \ cargo pgx install --release && \ # it's needed to enable extension because it uses untrusted C language sed -i 's/superuser = false/superuser = true/g' /usr/local/pgsql/share/extension/pg_graphql.control && \ @@ -369,7 +374,7 @@ RUN git clone --depth=1 --single-branch --branch neon_abi_v1.1.0 https://github. FROM rust-extensions-build AS pg-tiktoken-pg-build -RUN git clone --depth=1 --single-branch --branch neon_abi https://github.com/vadim2404/pg_tiktoken && \ +RUN git clone --depth=1 --single-branch https://github.com/kelvich/pg_tiktoken && \ cd pg_tiktoken && \ cargo pgx install --release && \ echo "trusted = true" >> /usr/local/pgsql/share/extension/pg_tiktoken.control