- Buildkits encapsulate metadata about the package-building process.
- When a buildkit sees creation or updates within the buildkit GitHub repo, GitHub Actions builds the package and subsequently publishing it to a designated repository.
pgxman installadds pgxman’s repository to your system, followed by package installations through your system’s native package manager.
The backbone of pgxman’s build system is your system’s package manager.
At present, only
apt-driven systems of Debian and Ubuntu are supported.
pgxman currently builds packages for
and Ubuntu Jammy.
In the future, other package managers and operating systems will be supported. Currently, we plan to target:
During the extension installation phase, pgxman adds its Apt repository to your system, enabling the installation of
extension packages. pgxman handles dependency management, installation, and uninstallation through
All pgxman packages are marked as “held back” with
apt-mark hold, which prevents them from accidential installations,
upgrades, or removals outside of pgxman.
pgxman uses a repository of
buildkits to know what
extensions are available. When you use
install, the buildkit
metadata is used to obtain information about that extension. A cached copy
of this repository is stored in the
pgxman folder in your user config
Each buildkit specifies how to build each extension, and the buildkit build system builds it for each package manager. When a buildkit is added or updated, a build is conducted automatically (using Github Actions) and the packages are stored in pgxman’s repository.
Building a buildkit
pgxman build uses Docker to build the buildkit packages locally. The result
is placed into the
out/ directory in your current working directory.