Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 49 additions & 2 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,55 @@ export default defineConfig(
link: "/extensions/",
collapsed: false,
items: [
{ text: "Bundled", link: "/extensions/bundled/" },
{ text: "Additional", link: "/extensions/additional/" }
{
text: "Bundled",
link: "/extensions/bundled/",
collapsed: true,
items: [
{ text: "auto_explain", link: "/extensions/bundled/auto-explain" },
{ text: "btree_gin", link: "/extensions/bundled/btree_gin" },
{ text: "citext", link: "/extensions/bundled/citext" },
{ text: "dblink", link: "/extensions/bundled/dblink" },
{ text: "fuzzystrmatch", link: "/extensions/bundled/fuzzystrmatch" },
{ text: "gp_array_agg", link: "/extensions/bundled/gp_array_agg" },
{ text: "gp_check_functions", link: "/extensions/bundled/gp_check_functions" },
{ text: "gp_exttable_fdw", link: "/extensions/bundled/gp_exttable_fdw" },
{ text: "gp_legacy_string_agg", link: "/extensions/bundled/gp_legacy_string_agg" },
{ text: "gp_parallel_retrieve_cursor", link: "/extensions/bundled/gp_parallel_retrieve_cursor" },
{ text: "gp_percentile_agg", link: "/extensions/bundled/gp_percentile_agg" },
{ text: "gp_pitr", link: "/extensions/bundled/gp_pitr" },
{ text: "gp_sparse_vector", link: "/extensions/bundled/gp_sparse_vector" },
{ text: "gp_subtransaction_overflow", link: "/extensions/bundled/gp_subtransaction_overflow" },
{ text: "greenplum_fdw", link: "/extensions/bundled/greenplum_fdw" },
{ text: "hstore", link: "/extensions/bundled/hstore" },
{ text: "ip4r", link: "/extensions/bundled/ip4r" },
{ text: "isn", link: "/extensions/bundled/isn" },
{ text: "ltree", link: "/extensions/bundled/ltree" },
{ text: "orafce", link: "/extensions/bundled/orafce_ref" },
{ text: "pageinspect", link: "/extensions/bundled/pageinspect" },
{ text: "pg_buffercache", link: "/extensions/bundled/pg_buffercache" },
{ text: "pg_cron", link: "/extensions/bundled/pg_cron" },
{ text: "pg_hint_plan", link: "/extensions/bundled/pg_hint_plan" },
{ text: "pg_stat_statements", link: "/extensions/bundled/pg_stat_statements" },
{ text: "pg_trgm", link: "/extensions/bundled/pg_trgm" },
{ text: "pgcrypto", link: "/extensions/bundled/pgcrypto" },
{ text: "postgres_fdw", link: "/extensions/bundled/postgres_fdw" },
{ text: "sslinfo", link: "/extensions/bundled/sslinfo" },
{ text: "tablefunc", link: "/extensions/bundled/tablefunc" },
{ text: "timestamp9", link: "/extensions/bundled/timestamp9" },
{ text: "tsm_system_rows", link: "/extensions/bundled/tsm_system_rows" },
{ text: "tsm_system_time", link: "/extensions/bundled/tsm_system_time" },
{ text: "uuid-ossp", link: "/extensions/bundled/uuid-ossp" }
],
},
{
text: "Additional",
link: "/extensions/additional/",
collapsed: true,
items: [
{ text: "whpg-vector", link: "/extensions/additional/pgvector/" }
],
}
],
}
]
Expand Down
6 changes: 4 additions & 2 deletions docs/extensions/additional/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: Additional extensions
description: Open source extensions for WarehousePG that require a separate package install on each host.
---

These extensions require installing a package on each host in your cluster before you can enable them. See [Installing Extensions](/docs/7x/install_guide/additional_modules/index.md) for installation steps.
These extensions require a separate package install on each host in your WarehousePG cluster before you can enable them, and availability varies by version.

No additional extensions are available yet.
| Extension | Description | 7.x |
| --- | --- | :---: |
| [whpg-vector](pgvector/index.md) | Provides vector similarity search capabilities for WarehousePG that enable searching, storing, and querying machine-learning-generated embeddings at scale. | ✓ |
25 changes: 25 additions & 0 deletions docs/extensions/additional/pgvector/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: whpg-vector
description: Learn how to store, query, and index embeddings in WarehousePG using the whpg-vector extension.
redirects:
- /docs/7x/ref_guide/modules/extensions/pgvector
navigation:
- release_notes
- installing
- using
---

::: info Version availability

whpg-vector is available starting with WarehousePG 7.3.0.
:::

The whpg-vector extension provides high-performance vector similarity search capabilities for WarehousePG (WHPG). By representing complex data (like text, images, or audio) as machine-learning-generated embeddings, you can perform semantic and syntactic searches at scale.

The WarehousePG whpg-vector extension is equivalent to version 0.7.4 of the pgvector extension used with PostgreSQL. See [Limitations](using.md#limitations) to understand the limitations of the WarehousePG version of the extension.

To get started with whpg-vector, see:

- [Release notes](release_notes.md)
- [Installing whpg-vector](installing.md)
- [Using whpg-vector](using.md)
52 changes: 52 additions & 0 deletions docs/extensions/additional/pgvector/installing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: Installing whpg-vector
description: Install the whpg-vector extension for WarehousePG from its repository.
---

Install whpg-vector on each host in your WarehousePG cluster, as it doesn't ship as part of the WarehousePG server package.

## Supported platforms

<!-- TODO: add supported WarehousePG versions, architectures, and operating systems. -->

::: info Version availability
whpg-vector is available starting with WarehousePG 7.3.0.
:::

## Installing the extension

Download and install whpg-vector from the [whpg-vector repository](https://github.com/warehouse-pg/whpg-vector).

<!-- TODO: add installation steps from the repository, and how to distribute to all hosts. -->

## Registering whpg-vector

After you install whpg-vector on every host, create the extension in each database where you want to use it:

```sql
CREATE EXTENSION vector;
```

## Verifying the installation

Confirm that `vector` is registered in the database:

```sql
\dx vector
```

## Upgrading whpg-vector

After you install the new whpg-vector package on every host, update the extension in each database where you registered it:

```sql
ALTER EXTENSION vector UPDATE;
```

## Uninstalling whpg-vector

<!-- TODO: confirm uninstall steps. -->

```sql
DROP EXTENSION vector;
```
221 changes: 221 additions & 0 deletions docs/extensions/additional/pgvector/release_notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
---
title: whpg-vector release notes
navTitle: Release notes
description: Release notes for the whpg-vector extension for WarehousePG.
---

The whpg-vector documentation describes the latest version, including minor releases and patches. These release notes cover what's new in each release.

## 0.7.4

Release date: September 20, 2026

- Fixed locking for parallel HNSW index builds.
- Fixed compilation error with GCC 14 on i386 when SSE2 is not enabled.

## 0.7.3

- Fixed `failed to add index item` error with `sparsevec`.
- Fixed compilation error with FreeBSD ARM.
- Fixed compilation warning with MSVC and Postgres 16.

## 0.7.2

- Fixed initialization fork for indexes on unlogged tables.

## 0.7.1

- Improved performance of on-disk HNSW index builds.
- Fixed `undefined symbol` error with GCC 8.
- Fixed compilation error with universal binaries on Mac.
- Fixed compilation warning with Clang < 14.

## 0.7.0

- Added `halfvec` type.
- Added `sparsevec` type.
- Added support for indexing `bit` type.
- Added support for indexing L1 distance with HNSW.
- Added `binary_quantize` function.
- Added `hamming_distance` function.
- Added `jaccard_distance` function.
- Added `l2_normalize` function.
- Added `subvector` function.
- Added concatenate operator for vectors.
- Added CPU dispatching for distance functions on Linux x86-64.
- Updated comparison operators to support vectors with different dimensions.

## 0.6.2

- Reduced lock contention with parallel HNSW index builds.

## 0.6.1

- Fixed error with `ANALYZE` and vectors with different dimensions.
- Fixed segmentation fault with `shared_preload_libraries`.
- Fixed vector subtraction being marked as commutative.

## 0.6.0

If upgrading with Postgres 12 or Docker, see the upgrade notes in the pgvector repository.

- Added support for parallel index builds for HNSW.
- Added validation for GUC parameters.
- Changed storage for `vector` from `extended` to `external`.
- Improved performance of HNSW.
- Reduced memory usage for HNSW index builds.
- Reduced WAL generation for HNSW index builds.
- Fixed error with logical replication.
- Fixed `invalid memory alloc request size` error with HNSW index builds.
- Moved Docker image to pgvector org.
- Added Docker tags for each supported version of Postgres.
- Dropped support for Postgres 11.

## 0.5.1

- Improved performance of HNSW index builds.
- Added check for MVCC-compliant snapshot for index scans.

## 0.5.0

- Added HNSW index type.
- Added support for parallel index builds for IVFFlat.
- Added `l1_distance` function.
- Added element-wise multiplication for vectors.
- Added `sum` aggregate.
- Improved performance of distance functions.
- Fixed out of range results for cosine distance.
- Fixed results for `NULL` and `NaN` distances for IVFFlat.

## 0.4.4

- Improved error message for malformed vector literal.
- Fixed segmentation fault with text input.
- Fixed consecutive delimiters with text input.

## 0.4.3

- Improved cost estimation.
- Improved support for spaces with text input.
- Fixed infinite and `NaN` values with binary input.
- Fixed infinite values with vector addition and subtraction.
- Fixed infinite values with list centers.
- Fixed compilation error when `float8` is pass by reference.
- Fixed compilation error on PowerPC.
- Fixed segmentation fault with index creation on i386.

## 0.4.2

- Added notice when index created with little data.
- Fixed dimensions check for some direct function calls.
- Fixed installation error with Postgres 12.0-12.2.

## 0.4.1

- Improved performance of cosine distance.
- Fixed index scan count.

## 0.4.0

If upgrading with Postgres < 13, see the upgrade note in the pgvector repository.

- Changed text representation for `vector` elements to match `real`.
- Changed storage for `vector` from `plain` to `extended`.
- Increased max dimensions for `vector` from 1024 to 16000.
- Increased max dimensions for index from 1024 to 2000.
- Improved accuracy of text parsing for certain inputs.
- Added `avg` aggregate for `vector`.
- Added experimental support for Windows.
- Dropped support for Postgres 10.

## 0.3.2

- Fixed `invalid memory alloc request size` error.

## 0.3.1

If upgrading from 0.2.7 or 0.3.0, recreate all `ivfflat` indexes after upgrading to ensure all data is indexed.

- Fixed issue with inserts silently corrupting `ivfflat` indexes (introduced in 0.2.7).
- Fixed segmentation fault with index creation when `lists` > 6500.

## 0.3.0

- Added support for Postgres 15.
- Dropped support for Postgres 9.6.

## 0.2.7

- Fixed `unexpected data beyond EOF` error.

## 0.2.6

- Improved performance of index creation for Postgres < 12.

## 0.2.5

- Reduced memory usage during index creation.
- Fixed index creation exceeding `maintenance_work_mem`.
- Fixed error with index creation when `lists` > 1600.

## 0.2.4

- Added support for parallel vacuum.
- Fixed issue with index not reusing space.

## 0.2.3

- Added indexing progress for Postgres 12+.
- Improved interrupt handling during index creation.

## 0.2.2

- Fixed compilation error on Mac ARM.

## 0.2.1

- Fixed `operator is not unique` error.

## 0.2.0

- Added support for Postgres 14.

## 0.1.8

- Added cast for `vector` to `real[]`.

## 0.1.7

- Added cast for `numeric[]` to `vector`.

## 0.1.6

- Fixed segmentation fault with `COUNT`.

## 0.1.5

- Reduced memory usage during index creation.

## 0.1.4

- Fixed kmeans for inner product.
- Fixed `multiple definition` error with GCC 10.

## 0.1.3

- Added Dockerfile.
- Fixed version.

## 0.1.2

- Vectorized distance calculations.
- Improved cost estimation.

## 0.1.1

- Added binary representation for `COPY`.
- Marked functions as `PARALLEL SAFE`.

## 0.1.0

- First release.
Loading
Loading