Why would we need yet another package manager for PostgreSQL & extensions?
PIG is a Go command-line tool for installing PostgreSQL and extensions through the system package
manager. It selects packages for the operating system, CPU architecture, and PostgreSQL version,
then uses APT, YUM, or DNF to install them.
The extension repository supplies native RPM and DEB packages, including TimescaleDB, Citus,
pgvector, and Rust extensions. It follows PGDG packaging conventions so these packages can be used
with the standard PostgreSQL packages.
I built PIG to make that repository easier to use. You can search by extension name, inspect its
metadata, and install the matching package without assembling package names yourself.
pig ext list [query]# list & search extensionpig ext info [ext...]# get information of a specific extensionpig ext status [-v]# show installed extension and pg statuspig ext add [ext...]# install extension for current pg versionpig ext rm [ext...]# remove extension for current pg versionpig ext update [ext...]# update extension to the latest versionpig ext import [ext...]# download extension to local repopig ext link [ext...]# link postgres installation to pathpig ext build [ext...]# setup building env for extension
Repository management
pig repo list # available repo list (info)pig repo info [repo|module...]# show repo info (info)pig repo status # show current repo status (info)pig repo add [repo|module...]# add repo and modules (root)pig repo rm [repo|module...]# remove repo & modules (root)pig repo update # update repo pkg cache (root)pig repo create # create repo on current system (root)pig repo boot # boot repo from offline package (root)pig repo cache # cache repo as offline package (root)