To deliver these extensions to users, the catalog itself is not sufficient. You also need a repository. Technically, the repository is an APT and YUM repository with signed Linux-native packages, hosted on Cloudflare with a regional mirror. This repository aims to enhance the PGDG YUM and APT repos. It's fully compatible, built under the same conventions, with the package layout users already understand and use.

Part III : The Delivery Layer

Repository

PIGSTY

Recommended path

Setup Repo with pig

# add pigsty-pgsql repo
pig repo add pigsty

# add pigsty-pgsql repo, and update cache
pig repo add pigsty -u

# add pigsty-pgsql repo and enforce default region (pigsty.io)
pig repo add pigsty -u --region=default

# add pigsty-pgsql repo with China region (pigsty.cc)
pig repo add pigsty -u --region=china

# pgsql = pgdg + pigsty-pgsql
pig repo add pgsql -u

# all = node + pgsql + infra
pig repo add -u

Debian / Ubuntu

Setup APT Repo

# add GPG key
curl -fsSL https://repo.pigsty.io/key | sudo gpg --dearmor -o /etc/apt/keyrings/pigsty.gpg

# write APT source list
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/pgsql/${distro_codename} ${distro_codename} main
EOF

# refresh APT cache
sudo apt update

EL-compatible systems

Setup DNF Repo

# add GPG key
curl -fsSL https://repo.pigsty.io/key | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty >/dev/null

# write DNF repo file
sudo tee /etc/yum.repos.d/pigsty-pgsql.repo > /dev/null <<-'EOF'
[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 DNF cache
sudo dnf makecache;