diff --git a/pkgs/servers/sql/postgresql/ext/pg_partman.nix b/pkgs/servers/sql/postgresql/ext/pg_partman.nix new file mode 100644 index 000000000000..b8ca074f6627 --- /dev/null +++ b/pkgs/servers/sql/postgresql/ext/pg_partman.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, postgresql }: + +stdenv.mkDerivation rec { + pname = "pg_partman"; + version = "4.1.0"; + + buildInputs = [ postgresql ]; + + src = fetchFromGitHub { + owner = "pgpartman"; + repo = pname; + rev = "refs/tags/v${version}"; + sha256 = "0bzv92x492jcwzhal9x4vc3vszixscdpxc6yq5rrqld26dhmsp06"; + }; + + installPhase = '' + mkdir -p $out/bin # For buildEnv to setup proper symlinks. See #22653 + mkdir -p $out/{lib,share/extension} + + cp src/*.so $out/lib + cp updates/* $out/share/extension + cp -r sql/* $out/share/extension + cp *.control $out/share/extension + ''; + + meta = with stdenv.lib; { + description = "Partition management extension for PostgreSQL"; + homepage = https://github.com/pgpartman/pg_partman; + maintainers = with maintainers; [ ggpeti ]; + platforms = postgresql.meta.platforms; + license = licenses.postgresql; + }; +} diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix index 70579ee292a2..e5f29dc7d57c 100644 --- a/pkgs/servers/sql/postgresql/packages.nix +++ b/pkgs/servers/sql/postgresql/packages.nix @@ -38,4 +38,6 @@ self: super: { tds_fdw = super.callPackage ./ext/tds_fdw.nix { }; pgrouting = super.callPackage ./ext/pgrouting.nix { }; + + pg_partman = super.callPackage ./ext/pg_partman.nix { }; }