PIGSTY

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.

LinuxPackagex86_64aarch64
ELrpm
Debiandeb

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 / ArchOSx86_64aarch64
EL8el8
17
16
15
14
13
17
16
15
14
13
EL9el9
17
16
15
14
13
17
16
15
14
13
Debian 12d12
17
16
15
14
13
17
16
15
14
13
Ubuntu 22.04u22
17
16
15
14
13
17
16
15
14
13
Ubuntu 24.04u24
17
16
15
14
13
17
16
15
14
13

The file hierarchy of the repository may look like this:

pig
key

Source

Building specs of these repos and packages are open-sourced on GitHub: