Repository
The infrastructure to deliver PostgreSQL Extensions
Pigsty has a repository that provides 200+ extra PostgreSQL extensions on 10 mainstream Linux Distros. It is designed to work together with the official PostgreSQL Global Development Group (PGDG) repo.
Get Started
You can enable the pigsty infra & pgsql repo with the pig CLI tool, or add them manually to your system:
curl https://repo.pigsty.io/pig | bash # download and install the pig CLI tool
pig repo add all -u # add linux, pgdg, pigsty repo and update cache
# Add Pigsty's GPG public key to your system keychain to verify package signatures
curl -fsSL https://repo.pigsty.io/key | sudo gpg --dearmor -o /etc/apt/keyrings/pigsty.gpg
# Get Debian distribution codename (distro_codename=jammy, focal, bullseye, bookworm), and write the corresponding upstream repository address to the APT List file
distro_codename=$(lsb_release -cs)
sudo tee /etc/apt/sources.list.d/pigsty-io.list > /dev/null <<EOF
deb [signed-by=/etc/apt/keyrings/pigsty.gpg] https://repo.pigsty.io/apt/infra generic main
deb [signed-by=/etc/apt/keyrings/pigsty.gpg] https://repo.pigsty.io/apt/pgsql/${distro_codename} ${distro_codename} main
EOF
# Refresh APT repository cache
sudo apt update
# Add Pigsty's GPG public key to your system keychain to verify package signatures
curl -fsSL https://repo.pigsty.io/key | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty >/dev/null
# Add Pigsty Repo definition files to /etc/yum.repos.d/ directory, including two repositories
sudo tee /etc/yum.repos.d/pigsty-io.repo > /dev/null <<-'EOF'
[pigsty-infra]
name=Pigsty Infra for $basearch
baseurl=https://repo.pigsty.io/yum/infra/$basearch
skip_if_unavailable = 1
enabled = 1
priority = 1
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty
module_hotfixes=1
[pigsty-pgsql]
name=Pigsty PGSQL For el$releasever.$basearch
baseurl=https://repo.pigsty.io/yum/pgsql/el$releasever.$basearch
skip_if_unavailable = 1
enabled = 1
priority = 1
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty
module_hotfixes=1
EOF
# Refresh YUM/DNF repository cache
sudo yum makecache;
All the RPM / DEB packages are signed with GPG Key fingerprint (B9BD8B20
) in Pigsty repository.
Compatibility
Pigsty has two major repos: INFRA and PGSQL,
provide DEB / RPM for x86_64
and aarch64
architecture.
The infra
repo contains packages that are generic to any PostgreSQL version and Linux major version,
including prometheus & grafana stack, admin tools for postgres, and many utils written in go.
Linux | Package | x86_64 | aarch64 |
---|---|---|---|
EL | rpm | ✓ | ✓ |
Debian | deb | ✓ | ✓ |
The pgsql
repo contains packages that are ad hoc to specific PostgreSQL Major Versions.
(Often ad hoc to a specific Linux distro major version, too) Including extensions, and some kernel forks.
OS / Arch | OS | x86_64 | aarch64 |
---|---|---|---|
EL8 | el8 | 17 16 15 14 13 | 17 16 15 14 13 |
EL9 | el9 | 17 16 15 14 13 | 17 16 15 14 13 |
Debian 12 | d12 | 17 16 15 14 13 | 17 16 15 14 13 |
Ubuntu 22.04 | u22 | 17 16 15 14 13 | 17 16 15 14 13 |
Ubuntu 24.04 | u24 | 17 16 15 14 13 | 17 16 15 14 13 |
The file hierarchy of the repository may look like this:
Source
Building specs of these repos and packages are open-sourced on GitHub: