Package Alias
Actual alias expansion is determined by roles/node_id/vars/*.yml in the source version you use.
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 |
Exact Package Names and Wildcards
EL mappings use exact package names, such as postgis -> postgis36_$v and pgvector -> pgvector_$v. They do not append * automatically. Explicit wildcards may install additional subpackages; consult the platform’s package_map for the expansion.
Alias expansion only maps names and substitutes version placeholders. It does not guarantee that a package exists for the selected PostgreSQL version, architecture, or repository. Category groups also vary by platform. Check the extension availability matrix before use.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)