PGXMan Buildkit is a YAML configuration file that pgxman
employs to define the build and packaging of a PostgreSQL extension.
Explore the specification for more details.
This repository is a hub for the buildkits of various well-known PostgreSQL extensions. Your contributions are welcome! Feel free to enhance our collection by submitting a PR.
Eager to contribute? Follow these steps to add a new buildkit:
- Fork this repository
- Add a buildkit configuration file in the
buildkit
directory - Use the command
pgxman build -f buildkit/<name>.yaml
to build the extension and ensure the build is successful. The buildkit file name must use_
to separate words, irrespective of the extension's name (for example,pg_cron.yaml
). This consistent naming convention ensure the publication script to correctly locate the buildkit file. - Test the built extension with a PostgreSQL instance to verify its functionality.
- Submit a pull request to this repository for review.
Your contribution will go through a review process, and once approved, it will be merged into the main repository!
Below is an example buildkit configuration for pgvector:
apiVersion: v1
name: pgvector
version: "0.4.4"
homepage: https://github.com/pgvector/pgvector
source: https://github.com/pgvector/pgvector/archive/refs/tags/v0.4.4.tar.gz
description: Open-source vector similarity search for Postgres.
license: PostgreSQL
keywords:
- nearest-neighbor-search
- approximate-nearest-neighbor-search
arch:
- amd64
- arm64
maintainers:
- name: Owen Ou
email: [email protected]
build:
main:
- name: Build pgvector
run: |
make
DESTDIR=${DESTDIR} make install
pgVersions:
- "13"
- "14"
- "15"
Wondering how the build artifacts are shared with the community? They are published to an Apt repository via GitHub Actions. The workflow is defined in .github/ci.yaml.
This repository is part of the pgxman project and uses the same FSL license.