Skip to content

Conversation

@pyramation
Copy link
Contributor

Summary

Adds a new extensions boilerplate category with workspace and module templates for building PostgreSQL extensions in Rust (using pgrx) and C (using PGXS).

New structure:

  • extensions/workspace/ - Makefile-based workspace for managing multiple extensions
  • extensions/rust/ - Rust extension module using pgrx 0.12
  • extensions/c/ - C extension module using standard PGXS build system

Each module includes build setup, README, gitignore, and a simple "hello" function as a starting point.

Review & Testing Checklist for Human

  • Test placeholder substitution - The function names use hello_____moduleName____ (5 underscores) which may conflict with the ____name____ pattern. Scaffold a test project to verify placeholders resolve correctly.
  • Verify pgrx version - Cargo.toml uses pgrx 0.12. Confirm this is the appropriate version and that pg13-pg17 feature flags are correct for this version.
  • CI workflow completeness - The workspace CI installs PostgreSQL dev headers but does NOT install Rust toolchain. If Rust extensions are expected to build in CI, this needs to be added.
  • Test C extension expected output - The expected/____moduleName____.out file has hardcoded column widths that may not match actual psql output formatting.

Recommended test plan:

  1. Use pgpm to scaffold a new workspace using extensions/workspace
  2. Scaffold both a Rust and C module into it
  3. Verify make build and make test work for both extension types

Notes

Requested by: Dan Lynch (@pyramation)
Devin session: https://app.devin.ai/sessions/a5cb8d91114445c982dff9551d9c6e68

- Add extensions/workspace with Makefile-based build system
- Add extensions/rust module using pgrx framework
- Add extensions/c module using PGXS build system
- Include CI workflow for multi-version PostgreSQL testing
@devin-ai-integration
Copy link

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@pyramation
Copy link
Contributor Author

@Jovonni

@pyramation pyramation requested a review from Jovonni January 4, 2026 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants