Package Alias
PostgreSQL package names differ between operating systems:
- EL systems (RHEL/Rocky/Alma/…) use formats like
pgvector_18,postgis36_18* - Debian/Ubuntu systems use formats like
postgresql-18-pgvector,postgresql-18-postgis-3
Without aliases, you need different naming rules for each system. You must also include the correct PostgreSQL version in the names.
Package Alias
Use a Package Alias to specify the same component on different platforms. Pigsty converts it to the correct package names:
Alias Translation
An alias can also identify a group of packages.
For example, the default pg_packages value is:
Pigsty reads the alias list for the current operating system.
For el10.x86_64, it expands the aliases to PostgreSQL kernel, extension, and utility packages:
Then Pigsty substitutes the selected PostgreSQL major version into pgsql-main.
For example, with pg_version = 18:
This process lets you select functional components without specifying platform-specific package details.
Which Variables Can Use Aliases?
These four parameters accept package aliases. Pigsty converts the aliases to package names through the same process:
pg_extensions- PG extension packagespg_packages- PG kernel/base utility packagesrepo_packages- Package download parameter: packages to download to local repositoryrepo_extra_packages- Extension installation parameter: additional packages to download to local repository
Alias List
The Pigsty source directory roles/node_id/vars/ contains alias mappings for each operating system and architecture:
el10.x86_64el10.aarch64el9.x86_64el9.aarch64el8.x86_64el8.aarch64u26.x86_64u26.aarch64u24.x86_64u24.aarch64u22.x86_64u22.aarch64d13.x86_64d13.aarch64d12.x86_64d12.aarch64
How It Works
Alias Translation Process
Version Placeholder
The alias system uses $v as a PostgreSQL version placeholder.
Pigsty replaces each $v in an alias with the value of pg_version.
For example, when pg_version: 18:
| Alias Definition (EL) | Expanded Result |
|---|---|
postgresql$v* | postgresql18* |
pgvector_$v* | pgvector_18* |
timescaledb-tsl_$v* | timescaledb-tsl_18* |
| Alias Definition (Debian/Ubuntu) | Expanded Result |
|---|---|
postgresql-$v | postgresql-18 |
postgresql-$v-pgvector | postgresql-18-pgvector |
postgresql-$v-timescaledb-tsl | postgresql-18-timescaledb-tsl |
Wildcard Matching
On EL systems, many aliases use the * wildcard to match related subpackages.
For example:
postgis36_18*will matchpostgis36_18,postgis36_18-client,postgis36_18-utils, etc.postgresql18*will matchpostgresql18,postgresql18-server,postgresql18-libs,postgresql18-contrib, etc.
One alias can install a complete extension. You do not need to list each subpackage.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)