about summary refs log tree commit diff
path: root/pkgs/servers/sql
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-11-02 00:02:27 +0000
committerGitHub <noreply@github.com>2023-11-02 00:02:27 +0000
commitd4d107cf3db12beb0b9463d1e12a91748975fbaf (patch)
treeebb83b1ab33bb8c01fa608bcbc804fc88bdf5105 /pkgs/servers/sql
parent94fea1c5b595e98cd297858e1d6dbacbe896a05c (diff)
parent2c732a9b5a5a60d91c685c92b87db5b8f5cf5812 (diff)
Merge master into staging-next
Diffstat (limited to 'pkgs/servers/sql')
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_embedding.nix30
-rw-r--r--pkgs/servers/sql/postgresql/packages.nix2
2 files changed, 32 insertions, 0 deletions
diff --git a/pkgs/servers/sql/postgresql/ext/pg_embedding.nix b/pkgs/servers/sql/postgresql/ext/pg_embedding.nix
new file mode 100644
index 0000000000000..a39dcd537275c
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/pg_embedding.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, fetchFromGitHub, postgresql }:
+
+stdenv.mkDerivation rec {
+  pname = "pg_embedding";
+  version = "0.3.6";
+
+  src = fetchFromGitHub {
+    owner = "neondatabase";
+    repo = pname;
+    rev = version;
+    hash = "sha256-NTBxsQB8mR7e/CWwkCEyDiYhi3Nxl/aKgRBwqc0THcI=";
+  };
+
+  buildInputs = [ postgresql ];
+
+  installPhase = ''
+    install -D -t $out/lib *.so
+    install -D -t $out/share/postgresql/extension *.sql
+    install -D -t $out/share/postgresql/extension *.control
+  '';
+
+  meta = with lib; {
+    description = "PostgreSQL extension implementing the HNSW algorithm for vector similarity search";
+    homepage = "https://github.com/neondatabase/pg_embedding";
+    maintainers = with maintainers; [ ivan ];
+    platforms = postgresql.meta.platforms;
+    license = licenses.asl20;
+    broken = versionOlder postgresql.version "12";
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix
index 09cba4ea81aa8..6685602ec3a18 100644
--- a/pkgs/servers/sql/postgresql/packages.nix
+++ b/pkgs/servers/sql/postgresql/packages.nix
@@ -18,6 +18,8 @@ self: super: {
 
     pg_ed25519 = super.callPackage ./ext/pg_ed25519.nix { };
 
+    pg_embedding = super.callPackage ./ext/pg_embedding.nix { };
+
     pg_hint_plan = super.callPackage ./ext/pg_hint_plan.nix { };
 
     pg_ivm = super.callPackage ./ext/pg_ivm.nix { };