Show HN: pgxman - npm for Postgres extensions https://ift.tt/aNZOAnp

Show HN: pgxman - npm for Postgres extensions pgxman is npm for Postgres extensions, simplifying the discovery and use of extensions so you can easily enhance your applications. Installing and updating Postgres extensions is an uphill battle. You're left searching for the right build tools and grappling with often unclear and incomplete compiling instructions to even try one out. But with pgxman, we've streamlined the process to one simple step: pgxman install [extension name]. For example, to build parquet_s3_fdw manually, you'd need to: 1. Download the parquet_s3_fdw source code; 2. Figure out how to build it by looking at README. When unclear, look at the source code how to build it. The README of parquet_s3_fdw says it needs libarrow, libparquet & aws_sdk. Readme doesn’t say where to get them. 3. Make sure all dependencies are available to build the project. Either install them from apt, if available, or build them manually if not. For parquet_s3_fdw aws_sdk has to be built manually — it’s not available in any apt repos 4. Build the extension targeting the correct OS, CPU architecture and Postgres version. 5. Determine and build to the right path /usr/lib/postgresql/15/lib - otherwise, Postgres wouldn’t be able to find them. 6. Repeat across all relevant Postgres instances. Hopefully, these Postgres versions are recent or else you’ll have to update postgres, set maintenance window, etc. * Added friction: Since parquet_s3_fdw is not designed to use in a cloud environment, and we forked it to make changes to make it possible to use. Using pgxman, you can just do: pgxman install s3_parquet_fdw pgxman integrates with your system package manager, ensuring the correct versions are installed without extra packages from any shared dependencies between extensions. pgxman’s automated build system creates [APT] packages for each Postgres version, platform, and OS supported by the extension. Extensions are built from a “buildkit” formula, written in YAML, and are contributed through GitHub. To install pgxman, you can do brew install pgxman/tap/pgxman or, if you don't mind pipe-to-shell, curl -sfl https://install.pgx.sh | sh - If you'd like to learn more, we have an extensive blog post here: https://ift.tt/LRSiOGD... . https://pgxman.com/ November 30, 2023 at 12:38AM

Comments