summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2024-02-29 17:00:17 +0100
committerRicardo Wurmus <rekado@elephly.net>2024-02-29 17:01:37 +0100
commit63f9e7deaf235130bc01cbf51268d40dedb467ae (patch)
treee3554503d1a632ff7f0ffb6dff151f769439aaad /gnu/packages
parentbb2703194e1e18e6513472742fdc9b2781b72729 (diff)
downloadguix-63f9e7deaf235130bc01cbf51268d40dedb467ae.tar.gz
gnu: Add pgvector.
* gnu/packages/databases.scm (pgvector): New variable.

Change-Id: I07b87956edc4c32d2ff1af2995a2a965fddf4ab7
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/databases.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index bbb8df8406..0f448c4a24 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1480,6 +1480,44 @@ PostgreSQL extension, providing automatic partitioning across time and space
 (partitioning key), as well as full SQL support.")
     (license license:asl2.0)))
 
+(define-public pgvector
+  (package
+    (name "pgvector")
+    (version "0.6.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pgvector/pgvector")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "19zcjrlmyj7gfbn8prh014yq50iy4dg97pirsm7idxsr829vwyc5"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      ;; Do not use -march=native
+      #:make-flags
+      #~(list "OPTFLAGS="
+              (string-append "DESTDIR=" #$output))
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure))))
+    (inputs (list postgresql))
+    (home-page "https://github.com/pgvector/pgvector")
+    (synopsis "Vector similarity search for Postgres")
+    (description
+     "This package provides a vector similarity search extension for Postgres.
+Store your vectors with the rest of your data.  It supports:
+
+@itemize
+@item exact and approximate nearest neighbor search;
+@item L2 distance, inner product, and cosine distance;
+@item any language with a Postgres client.
+@end itemize
+")
+    (license (license:x11-style "file://COPYRIGHT"))))
+
 (define-public pgloader
   (package
     (name "pgloader")