[HN Gopher] Show HN: Pgxman - npm for Postgres extensions
       ___________________________________________________________________
        
       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://www.hydra.so/blog-posts/the-design-of-postgres-exten....
        
       Author : coatue
       Score  : 24 points
       Date   : 2023-11-29 19:08 UTC (3 hours ago)
        
 (HTM) web link (pgxman.com)
 (TXT) w3m dump (pgxman.com)
        
       | lfittl wrote:
       | Other related projects:
       | 
       | * PGXN (https://pgxn.org/ - the original Postgres community
       | extension repository, though more "old school")
       | 
       | * Trunk by Tembo (https://github.com/tembo-io/trunk - very
       | similar to pgxman, but using the more liberal Postgres BSD-style
       | license)
       | 
       | Additionally its important to mention that many popular
       | extensions are already packaged as part of the Postgres YUM and
       | Apt repositories (https://wiki.postgresql.org/wiki/Apt and
       | https://yum.postgresql.org/).
       | 
       | I would generally recommend using the upstream repository
       | packages directly, since they are tested/updated with each major
       | release, and their maintainers are proactive in reaching out to
       | extension maintainers that need to update their extension due to
       | upstream code changes.
        
       ___________________________________________________________________
       (page generated 2023-11-29 23:01 UTC)