From 9b1e885bb43255299fac8d8843e5f06aaa40eb81 Mon Sep 17 00:00:00 2001 From: shuaitian Date: Fri, 9 May 2025 10:13:49 +0000 Subject: [PATCH 1/8] auto push deb for tag run --- .github/workflows/build_packages.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build_packages.yml b/.github/workflows/build_packages.yml index 901a6fda..aed29afc 100644 --- a/.github/workflows/build_packages.yml +++ b/.github/workflows/build_packages.yml @@ -54,3 +54,12 @@ jobs: retention-days: 7 if-no-files-found: error compression-level: 0 + + - name: Upload to GitHub Release + if: startsWith(github.ref, 'refs/tags/v') + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ github.ref_name }} + files: packaging/*.deb + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 7d338b67b51436c139feac7d3a4881218e7737eb Mon Sep 17 00:00:00 2001 From: shuaitian Date: Fri, 9 May 2025 10:14:03 +0000 Subject: [PATCH 2/8] readme for deb --- packaging/README.md | 49 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/packaging/README.md b/packaging/README.md index 9d94009e..43ce9242 100755 --- a/packaging/README.md +++ b/packaging/README.md @@ -1,4 +1,4 @@ -# To Build Your Own Debian Packages With Docker +# 🛠️ To Build Your Own Debian Packages With Docker Run `./packaging/build_packages.sh -h` and follow the instructions. E.g. to build for Debian 12 and PostgreSQL 16, run: @@ -9,4 +9,49 @@ E.g. to build for Debian 12 and PostgreSQL 16, run: Packages can be found at the `packages` directory by default, but it can be configured with the `--output-dir` option. -**Note:** The packages do not include pg_documentdb_distributed in the `internal` directory. \ No newline at end of file +**Note:** The packages do not include pg_documentdb_distributed in the `internal` directory. + +# 📦 Installing DocumentDB from `.deb` Packages + +We provide prebuilt `.deb` packages for PostgreSQL versions **15**, **16**, and **17** on the following operating systems: + +- **Debian 11** (bullseye) +- **Debian 12** (bookworm) +- **Ubuntu 22.04** (jammy) +- **Ubuntu 24.04** (noble) + +## 🔽 1. Download the Package + +Visit the [Releases](../../releases) page of this repository and download the `.deb` package that matches your OS and PostgreSQL version. + +Example: + +```bash +wget https://github.com/YOUR_ORG/YOUR_REPO/releases/download/v0.103.0/deb12-postgresql-16-documentdb_0.103.0_amd64.deb +``` + +## 🔽 2. Install the Package + +Install the downloaded package using `dpkg`: +```bash +sudo dpkg -i deb12-postgresql-16-documentdb_0.103.0_amd64.deb +``` +If you see dependency errors, fix them with: +```bash +sudo apt-get install -f +``` + +## 🔽 3. Enable the Extension in PostgreSQL + +After installing the package, enable the extension in your PostgreSQL database: +```sql +CREATE EXTENSION documentdb; +``` +Make sure you connect to the correct PostgreSQL instance that matches the installed version. + +## 🔽 4. Verify Installation +Run the following query to verify that the extension is available: + +```sql +SELECT * FROM pg_available_extensions WHERE name = 'documentdb'; +``` \ No newline at end of file From 05c13b4cf687c1d25bd29937612010e1532258ad Mon Sep 17 00:00:00 2001 From: shuaitian Date: Wed, 14 May 2025 03:31:19 +0000 Subject: [PATCH 3/8] add temp PR trigger --- .github/workflows/build_packages.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build_packages.yml b/.github/workflows/build_packages.yml index aed29afc..4d8bfb16 100644 --- a/.github/workflows/build_packages.yml +++ b/.github/workflows/build_packages.yml @@ -11,6 +11,8 @@ on: paths-ignore: - '.devcontainer/**' - '*.md' + pull_request: + types: [opened, reopened, synchronize] jobs: build-deb-packages: From 30c21f1b888eb20e6c354d6e6f6f3af9a6d0c6a9 Mon Sep 17 00:00:00 2001 From: shuaitian Date: Wed, 14 May 2025 04:01:12 +0000 Subject: [PATCH 4/8] use github cli --- .github/workflows/build_packages.yml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_packages.yml b/.github/workflows/build_packages.yml index 4d8bfb16..2d505f54 100644 --- a/.github/workflows/build_packages.yml +++ b/.github/workflows/build_packages.yml @@ -57,11 +57,19 @@ jobs: if-no-files-found: error compression-level: 0 - - name: Upload to GitHub Release + - name: Install GitHub CLI if: startsWith(github.ref, 'refs/tags/v') - uses: softprops/action-gh-release@v2 - with: - tag_name: ${{ github.ref_name }} - files: packaging/*.deb + uses: cli/cli-action@v2 + + - name: Upload to GitHub Release (excluding dbgsym packages) + if: startsWith(github.ref, 'refs/tags/v') + run: | + # Find all .deb files excluding ones with -dbgsym_ in the name + files=$(find packaging -type f -name "*.deb" ! -name "*-dbgsym_*.deb") + if [ -z "$files" ]; then + echo "No .deb packages (excluding dbgsym) found to upload." + exit 1 + fi + gh release upload "${{ github.ref_name }}" $files --clobber env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From ad7d8465abe369a358c45aac40c3f5de090cbb42 Mon Sep 17 00:00:00 2001 From: shuaitian Date: Wed, 14 May 2025 04:02:46 +0000 Subject: [PATCH 5/8] fix --- .github/workflows/build_packages.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_packages.yml b/.github/workflows/build_packages.yml index 2d505f54..6f580b42 100644 --- a/.github/workflows/build_packages.yml +++ b/.github/workflows/build_packages.yml @@ -57,9 +57,11 @@ jobs: if-no-files-found: error compression-level: 0 - - name: Install GitHub CLI + - name: Install GitHub CLI manually if: startsWith(github.ref, 'refs/tags/v') - uses: cli/cli-action@v2 + run: | + sudo apt-get update + sudo apt-get install -y gh - name: Upload to GitHub Release (excluding dbgsym packages) if: startsWith(github.ref, 'refs/tags/v') From 14ca445147540fd1b799016817c0f36c1214eed7 Mon Sep 17 00:00:00 2001 From: shuaitian Date: Wed, 14 May 2025 11:30:05 +0000 Subject: [PATCH 6/8] update --- packaging/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/README.md b/packaging/README.md index 43ce9242..ad9d74ea 100755 --- a/packaging/README.md +++ b/packaging/README.md @@ -27,14 +27,14 @@ Visit the [Releases](../../releases) page of this repository and download the `. Example: ```bash -wget https://github.com/YOUR_ORG/YOUR_REPO/releases/download/v0.103.0/deb12-postgresql-16-documentdb_0.103.0_amd64.deb +wget https://github.com/microsoft/documentdb/releases/download/v0.103-0/ubuntu22.04-postgresql-16-documentdb_0.103.0_amd64.deb ``` ## 🔽 2. Install the Package Install the downloaded package using `dpkg`: ```bash -sudo dpkg -i deb12-postgresql-16-documentdb_0.103.0_amd64.deb +sudo dpkg -i ubuntu22.04-postgresql-16-documentdb_0.103.0_amd64.deb ``` If you see dependency errors, fix them with: ```bash From 41a11aab55c903bbf3696ae9719278afff86548e Mon Sep 17 00:00:00 2001 From: shuaitian Date: Wed, 14 May 2025 11:30:43 +0000 Subject: [PATCH 7/8] remove PR trigger --- .github/workflows/build_packages.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build_packages.yml b/.github/workflows/build_packages.yml index 6f580b42..fb9f62e9 100644 --- a/.github/workflows/build_packages.yml +++ b/.github/workflows/build_packages.yml @@ -11,8 +11,6 @@ on: paths-ignore: - '.devcontainer/**' - '*.md' - pull_request: - types: [opened, reopened, synchronize] jobs: build-deb-packages: From bbfdcafb8f499c24ec07ef1653b799de259ce972 Mon Sep 17 00:00:00 2001 From: shuaitian Date: Wed, 14 May 2025 11:38:50 +0000 Subject: [PATCH 8/8] update --- packaging/debian_files/changelog | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/packaging/debian_files/changelog b/packaging/debian_files/changelog index 56a7c877..c4d9d7b3 100755 --- a/packaging/debian_files/changelog +++ b/packaging/debian_files/changelog @@ -1,12 +1,26 @@ -documentdb (DOCUMENTDB_VERSION) Unreleased; urgency=low +documentdb (0.104.0) Unreleased; urgency=low - * Support `$convert` on `binData` to `binData`, `string` to `binData` and `binData` to `string` (except with `format: auto`) *[Feature]* - * Fix list_databases for databases with size > 2 GB *[Bugfix]* (#119) - * Support ARM64 architecture when building docker container *[Preview]* + * Add string case support for `$toDate` operator + * Support collation with `$indexOfArray` aggregation operator. *[Feature]* + * Support collation with arrays and objects comparisons *[Feature]* + * Support background index builds *[Bugfix]* (#36) + * Enable user CRUD by default *[Feature]* - -- Shuai Tian Wed, 09 Apr 2026 12:00:00 +0000 + -- Shuai Tian Wed, 14 May 2025 12:00:00 +0000 -documentdb (0.102-0) unstable; urgency=medium +documentdb (0.103.0) unstable; urgency=medium + + * Support collation with aggregation and find on sharded collections [Feature] + * Support $convert on binData to binData, string to binData and binData to string (except with format: auto) [Feature] + * Support half-precision vector indexing, vectors can have up to 4,000 dimensions [Feature] + * Support collation with $documents and $replaceWith stage of the aggregation pipeline [Feature] + * Push pg_documentdb_gw for documentdb connections [Feature] + * Support ARM64 architecture when building docker container [Preview] + * Fix list_databases for databases with size > 2 GB [Bugfix] (#119) + + -- Shuai Tian Fri, 09 May 2025 12:00:00 +0000 + +documentdb (0.102.0) unstable; urgency=medium * Support index pushdown for vector search queries [Bugfix] * Support exact search for vector search queries [Feature] @@ -29,7 +43,7 @@ documentdb (0.102-0) unstable; urgency=medium -- Shuai Tian Wed, 26 Mar 2025 10:00:00 +0000 -documentdb (0.101-0) unstable; urgency=medium +documentdb (0.101.0) unstable; urgency=medium * Push $graphlookup recursive CTE JOIN filters to index [Perf] * Build pg_documentdb for PostgreSQL 17 [Infra] (#13) @@ -40,7 +54,7 @@ documentdb (0.101-0) unstable; urgency=medium -- Shuai Tian Tue, 12 Feb 2025 10:00:00 +0000 -documentdb (0.100-0) unstable; urgency=medium +documentdb (0.100.0) unstable; urgency=medium * Initial release