Postgres.pm (aka pgpm) is a streamlined package manager designed to simplify the process of building and distributing Postgres extensions and packages.
Platform independence
Postgres.pm is designed to deliver Postgres extensions in native packaging (such as RPM, DEB, OCI images, etc.) to support the broad variety of usage patterns.
Note
Early release is targeting RHEL-based distributions using official PGDG Postgres distributions with other options coming up.
Low-effort package maintenance
Postgres.pm embraces the concept of inferences: based on given information, it'll figure out how to build the package if it fits into a set of pre-defined rules.
New versions are automatically picked up and recognized.
Package definition can be as simple as this – with no routine maintenace on new releases:
class Pgvector < Pgpm::Package
github "pgvector/pgvector"
end
Package definition flexibility
Packages definitions are defined in Ruby, allowing for near-infinite flexibility of their definition when necessary.
This allows us to accomodate non-standard build and installation procedures with ease.
We are preparing to start publishing RPM packages publicly soon. It's possible to build included packages manually.