Skip to content

Conversation

@paudley
Copy link
Owner

@paudley paudley commented Nov 26, 2025

Summary

Changes

Issue #43: UID/GID Configuration

  • Update .env.example to default POSTGRES_UID/GID to 999 (matches pre-built ghcr.io images)
  • Add documentation in README explaining UID requirements for pre-built vs local builds
  • Add validation in config render script to clamp PG_EFFECTIVE_IO_CONCURRENCY to max 1000

Issue #47: Missing Extensions

Added 7 new contrib extensions to CORE_EXTENSION_LIST:

Extension Purpose
cube Multidimensional cube data type (required for earthdistance)
earthdistance Earth distance calculations for geo applications
intarray Integer array functions and operators
ltree Hierarchical tree-like data structures
pg_prewarm Preload relation data into buffer cache
tablefunc Crosstab and pivot table functions
unaccent Text search dictionary for accent removal
  • Updated pgtap smoke tests (plan count 29 → 36) to verify new extensions
  • Updated README extension bundle documentation

Test plan

  • Verify pre-built images work with UID 999 defaults
  • Verify new extensions are created on fresh bootstrap
  • Run pgtap-smoke to confirm all 36 extension tests pass
  • Verify PG_EFFECTIVE_IO_CONCURRENCY clamping works with value > 1000

🤖 Generated with Claude Code

…ages

Fixes #43: Pre-built images use UID 999
- Update .env.example to default POSTGRES_UID/GID to 999 (matches pre-built images)
- Document UID/GID requirements in README for pre-built vs local builds
- Add validation for PG_EFFECTIVE_IO_CONCURRENCY (clamp to max 1000)

Fixes #47: Add missing contrib extensions
- Add cube, earthdistance, intarray, ltree, pg_prewarm, tablefunc, unaccent
- Update pgtap smoke tests to verify new extensions (plan count 29 → 36)
- Document new extensions in README extension bundle section

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings November 26, 2025 21:16
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @paudley, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request resolves two key issues: standardizing user/group IDs for pre-built container images and expanding the set of default PostgreSQL extensions. It ensures consistent UID/GID settings in .env.example for PostgreSQL and RabbitMQ, provides clear documentation on UID/GID requirements, and introduces a new validation for PostgreSQL's effective_io_concurrency setting. Additionally, it integrates several useful PostgreSQL contrib extensions, enhancing the out-of-the-box functionality, and updates the associated test suite and documentation.

Highlights

  • UID/GID Defaults for Pre-built Images: Updated .env.example to set POSTGRES_UID and POSTGRES_GID to 999, matching pre-built images, and added corresponding documentation to the README.md to clarify UID/GID requirements for pre-built vs. local builds.
  • Missing PostgreSQL Extensions Added: Incorporated 7 new contrib extensions (cube, earthdistance, intarray, ltree, pg_prewarm, tablefunc, unaccent) into the CORE_EXTENSION_LIST, enhancing out-of-the-box functionality, and updated pgtap smoke tests to verify their installation.
  • PG_EFFECTIVE_IO_CONCURRENCY Validation: Added a validation rule to 00-render-config.sh to clamp PG_EFFECTIVE_IO_CONCURRENCY values to a maximum of 1000, aligning with PostgreSQL 17 limits and preventing potential configuration issues.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@paudley paudley self-assigned this Nov 26, 2025
@paudley paudley added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request docker_compose Pull requests that update docker_compose code labels Nov 26, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request correctly updates the default UID/GID for pre-built images to 999 and adds several new PostgreSQL extensions to the core list. The documentation and tests have been updated accordingly. My review includes two suggestions for improvement: one to enhance configuration validation by adding a lower-bound check for PG_EFFECTIVE_IO_CONCURRENCY, and another to sort the list of extensions alphabetically for better maintainability.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes two issues: corrects UID/GID defaults for pre-built images (which use UID/GID 999, not the host UID), and adds 7 missing PostgreSQL contrib extensions to the core extension bundle. The changes ensure pre-built images work out-of-the-box and expand the available database functionality with commonly-used extensions for spatial calculations, array operations, hierarchical data, and text processing.

Key changes:

  • Updated .env.example and README to document that pre-built images require POSTGRES_UID/GID=999
  • Added 7 contrib extensions: cube, earthdistance, intarray, ltree, pg_prewarm, tablefunc, unaccent
  • Added configuration validation to clamp PG_EFFECTIVE_IO_CONCURRENCY to PostgreSQL's max value of 1000

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
scripts/lib/extensions_list.sh Adds 7 new contrib extensions to CORE_EXTENSION_LIST with dependency ordering
scripts/lib/extensions.sh Updates pgtap smoke test plan from 29 to 36 and adds tests for new extensions
postgres/initdb/00-render-config.sh Adds validation to clamp PG_EFFECTIVE_IO_CONCURRENCY above 1000 to max value
README.md Documents UID/GID requirements for pre-built images and updates extension bundle lists
.env.example Sets POSTGRES_UID/GID defaults to 999 with explanatory comments

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

paudley and others added 2 commits November 26, 2025 14:21
Addresses PR review feedback - bloom was already in CORE_EXTENSION_LIST
but missing from the documentation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add bloom extension to README documentation
- Add negative value check for PG_EFFECTIVE_IO_CONCURRENCY (clamp to 0)
- Add missing bloom and pg_cron tests to pgtap smoke
- Fix test plan count (36 → 39)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@paudley paudley merged commit c3ae86f into main Nov 26, 2025
16 checks passed
@paudley paudley deleted the fix/issues-43-47-extensions-and-uid branch November 26, 2025 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working docker_compose Pull requests that update docker_compose code documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add missing contrib extensions to CORE_EXTENSION_LIST Pre-built images use UID 999, but .env defaults and docs assume host UID

1 participant