diff --git a/.asf.yaml b/.asf.yaml index 049387b12..75419f24f 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -49,6 +49,10 @@ github: required_pull_request_reviews: required_approving_review_count: 2 + PG17: + required_pull_request_reviews: + required_approving_review_count: 2 + PG16: required_pull_request_reviews: required_approving_review_count: 2 diff --git a/.github/labeler.yml b/.github/labeler.yml index 92ab6db8e..6dfd5f530 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -13,5 +13,8 @@ PG14: PG15: - base-branch: 'PG15' +PG17: +- base-branch: 'PG17' + master: - base-branch: 'master' \ No newline at end of file diff --git a/.github/workflows/go-driver.yml b/.github/workflows/go-driver.yml index 5b6d15030..ea0092b6e 100644 --- a/.github/workflows/go-driver.yml +++ b/.github/workflows/go-driver.yml @@ -2,10 +2,10 @@ name: Go Driver Tests on: push: - branches: [ "master" ] + branches: [ "PG17_prepare" ] pull_request: - branches: [ "master" ] + branches: [ "PG17_prepare" ] jobs: build: diff --git a/.github/workflows/installcheck.yaml b/.github/workflows/installcheck.yaml index dddefa48a..276b2709e 100644 --- a/.github/workflows/installcheck.yaml +++ b/.github/workflows/installcheck.yaml @@ -2,57 +2,62 @@ name: Build / Regression on: push: - branches: [ "master" ] + branches: [ "PG17_prepare" ] pull_request: - branches: [ "master" ] + branches: [ "PG17_prepare" ] jobs: build: runs-on: ubuntu-latest steps: - - name: Get latest commit id of PostgreSQL 16 + - name: Get latest commit id of PostgreSQL 17 run: | - echo "PG_COMMIT_HASH=$(git ls-remote git://git.postgresql.org/git/postgresql.git refs/heads/REL_16_STABLE | awk '{print $1}')" >> $GITHUB_ENV + echo "PG_COMMIT_HASH=$(git ls-remote git://git.postgresql.org/git/postgresql.git refs/heads/REL_17_STABLE | awk '{print $1}')" >> $GITHUB_ENV - - name: Cache PostgreSQL 16 + - name: Cache PostgreSQL 17 uses: actions/cache@v3 - id: pg16cache + id: pg17cache with: - path: ~/pg16 - key: ${{ runner.os }}-v1-pg16-${{ env.PG_COMMIT_HASH }} + path: ~/pg17 + key: ${{ runner.os }}-v1-pg17-${{ env.PG_COMMIT_HASH }} - - name: Install PostgreSQL 16 and some extensions - if: steps.pg16cache.outputs.cache-hit != 'true' + - name: Install dependencies run: | - git clone --depth 1 --branch REL_16_STABLE git://git.postgresql.org/git/postgresql.git ~/pg16source - cd ~/pg16source - ./configure --prefix=$HOME/pg16 CFLAGS="-std=gnu99 -ggdb -O0" --enable-cassert + sudo apt-get update + sudo apt-get install -y build-essential libreadline-dev zlib1g-dev flex bison + + - name: Install PostgreSQL 17 and some extensions + if: steps.pg17cache.outputs.cache-hit != 'true' + run: | + git clone --depth 1 --branch REL_17_STABLE git://git.postgresql.org/git/postgresql.git ~/pg17source + cd ~/pg17source + ./configure --prefix=$HOME/pg17 CFLAGS="-std=gnu99 -ggdb -O0" --enable-cassert make install -j$(nproc) > /dev/null cd contrib cd fuzzystrmatch - make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc) > /dev/null + make PG_CONFIG=$HOME/pg17/bin/pg_config install -j$(nproc) > /dev/null cd ../pg_trgm - make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc) > /dev/null + make PG_CONFIG=$HOME/pg17/bin/pg_config install -j$(nproc) > /dev/null - uses: actions/checkout@v3 - name: Build AGE id: build run: | - make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc) + make PG_CONFIG=$HOME/pg17/bin/pg_config install -j$(nproc) - name: Pull and build pgvector id: pgvector run: | git clone https://github.com/pgvector/pgvector.git cd pgvector - make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc) > /dev/null + make PG_CONFIG=$HOME/pg17/bin/pg_config install -j$(nproc) > /dev/null - name: Regression tests id: regression_tests run: | - make PG_CONFIG=$HOME/pg16/bin/pg_config installcheck EXTRA_TESTS="pgvector fuzzystrmatch pg_trgm" + make PG_CONFIG=$HOME/pg17/bin/pg_config installcheck EXTRA_TESTS="pgvector fuzzystrmatch pg_trgm" continue-on-error: true - name: Dump regression test errors diff --git a/.github/workflows/jdbc-driver.yaml b/.github/workflows/jdbc-driver.yaml index 29b368438..2b074b855 100644 --- a/.github/workflows/jdbc-driver.yaml +++ b/.github/workflows/jdbc-driver.yaml @@ -2,10 +2,10 @@ name: JDBC Driver Tests on: push: - branches: [ "master" ] + branches: [ "PG17_prepare" ] pull_request: - branches: [ "master" ] + branches: [ "PG17_prepare" ] jobs: build: diff --git a/.github/workflows/nodejs-driver.yaml b/.github/workflows/nodejs-driver.yaml index 3d9e07023..8e8d2af67 100644 --- a/.github/workflows/nodejs-driver.yaml +++ b/.github/workflows/nodejs-driver.yaml @@ -2,10 +2,10 @@ name: Nodejs Driver Tests on: push: - branches: [ "master" ] + branches: [ "PG17_prepare" ] pull_request: - branches: [ "master" ] + branches: [ "PG17_prepare" ] jobs: build: diff --git a/.github/workflows/python-driver.yaml b/.github/workflows/python-driver.yaml index 099b5c871..03f1ca84a 100644 --- a/.github/workflows/python-driver.yaml +++ b/.github/workflows/python-driver.yaml @@ -2,10 +2,10 @@ name: Python Driver Tests on: push: - branches: [ "master" ] + branches: [ "PG17_prepare" ] pull_request: - branches: [ "master" ] + branches: [ "PG17_prepare" ] jobs: build: diff --git a/README.md b/README.md index a89c6f65a..613a6643c 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,8 @@   - - + +   @@ -125,7 +125,7 @@ Apache AGE is intended to be simple to install and run. It can be installed with  Install PostgreSQL -You will need to install an AGE compatible version of Postgres, for now AGE supports Postgres 11, 12, 13, 14, 15 & 16. Supporting the latest versions is on AGE roadmap. +You will need to install an AGE compatible version of Postgres, for now AGE supports Postgres 11, 12, 13, 14, 15, 16 & 17. Supporting the latest versions is on AGE roadmap.

 Installation via Package Manager @@ -143,7 +143,7 @@ sudo apt install postgresql  Installation From Source Code

-You can
download the Postgres source code and install your own instance of Postgres. You can read instructions on how to install from source code for different versions on the official Postgres Website. +You can download the Postgres source code and install your own instance of Postgres. You can read instructions on how to install from source code for different versions on the official Postgres Website. @@ -152,7 +152,7 @@ You can download the Postgres Clone the github repository or download the download an official release. -Run the pg_config utility and check the version of PostgreSQL. Currently, only PostgreSQL versions 11, 12, 13, 14, 15 & 16 are supported. If you have any other version of Postgres, you will need to install PostgreSQL version 11, 12, 13, 14, 15, or 16. +Run the pg_config utility and check the version of PostgreSQL. Currently, only PostgreSQL versions 11, 12, 13, 14, 15, 16 & 17 are supported. If you have any other version of Postgres, you will need to install PostgreSQL version 11, 12, 13, 14, 15, 16 & 17.
```bash diff --git a/docker/Dockerfile b/docker/Dockerfile index 336070589..91c626d63 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -17,14 +17,14 @@ # # Build stage: Install necessary development tools for compilation and installation -FROM postgres:16 AS build +FROM postgres:17 AS build RUN apt-get update \ && apt-get install -y --no-install-recommends --no-install-suggests \ bison \ build-essential \ flex \ - postgresql-server-dev-16 + postgresql-server-dev-17 COPY . /age @@ -34,7 +34,7 @@ RUN make && make install # Final stage: Create a final image by copying the files created in the build stage -FROM postgres:16 +FROM postgres:17 RUN apt-get update \ && apt-get install -y --no-install-recommends --no-install-suggests \ @@ -48,9 +48,9 @@ ENV LANG=en_US.UTF-8 ENV LC_COLLATE=en_US.UTF-8 ENV LC_CTYPE=en_US.UTF-8 -COPY --from=build /usr/lib/postgresql/16/lib/age.so /usr/lib/postgresql/16/lib/ -COPY --from=build /usr/share/postgresql/16/extension/age--1.5.0.sql /usr/share/postgresql/16/extension/ -COPY --from=build /usr/share/postgresql/16/extension/age.control /usr/share/postgresql/16/extension/ +COPY --from=build /usr/lib/postgresql/17/lib/age.so /usr/lib/postgresql/17/lib/ +COPY --from=build /usr/share/postgresql/17/extension/age--1.5.0.sql /usr/share/postgresql/17/extension/ +COPY --from=build /usr/share/postgresql/17/extension/age.control /usr/share/postgresql/17/extension/ COPY docker/docker-entrypoint-initdb.d/00-create-extension-age.sql /docker-entrypoint-initdb.d/00-create-extension-age.sql CMD ["postgres", "-c", "shared_preload_libraries=age"] diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index bdf0c40d0..48b2db3ed 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -17,14 +17,14 @@ # -FROM postgres:16 +FROM postgres:17 RUN apt-get update RUN apt-get install --assume-yes --no-install-recommends --no-install-suggests \ bison \ build-essential \ flex \ - postgresql-server-dev-16 \ + postgresql-server-dev-17 \ locales ENV LANG=en_US.UTF-8 diff --git a/drivers/docker-compose.yml b/drivers/docker-compose.yml index 9ec072db5..3789fe4a9 100644 --- a/drivers/docker-compose.yml +++ b/drivers/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.3" services: db: - image: apache/age:dev_snapshot_master + image: apache/age:dev_snapshot_PG17_prepare environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=agens