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 000000000000..a39dcd537275 --- /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 09cba4ea81aa..6685602ec3a1 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 { };