Skip to content

This Project Has A New Name: pgrx #1106

@eeeebbbbrrrr

Description

@eeeebbbbrrrr

Goodbye pgx, Hello pgrx

For various reasons it is necessary for us to rename pgx.

The core team, through much deliberation and consternation, have decided on pgrx.

This is short for "PostGres Rust Extension", which isn't far off from whatever pgx might have meant (I'm not sure there was an official definition!).

We realize this is a huge inconvenience, but having the courage to change the things we can goes a long way. The underlying reasons are entirely outside of the core team's control.

When?

We intend the name change to be official in what will be pgrx v0.7.4.

This release will be exactly the same as pgx v0.7.4, only with everything renamed. There will be no other code changes.

We intend to rename to pgrx v0.7.4 today, April 17, 2023.

This should allow existing pgx users to migrate their code to the new name without fear of other changes sneaking into their code.

What About crates.io?

The currently released pgx-0.7.4 crates will continue to live on crates.io for all eternity, however they will no longer be updated.

How do we migrate our source code?

pgrx is close enough to pgx that a global, case-preserving search-n-replace on your code should work just fine. That's exactly what we did to rename pgx, along with renaming directories and a few files that contained "pgx" in the filename.

There are a few edge cases you might encounter:

  • if you used pgXX to denote a variable major version
  • if you use PgXactCallback or pg_sys::pgxactoff
  • pgxs may be referenced if you have custom build code. This is a Postgres Makefile variable that has nothing to do with PGRX.

What About cargo-pgx?

It will be called cargo-pgrx and will default to a (now renamed) $PGRX_HOME directory of ~/.pgrx/ instead of ~/.pgx/.

This means you'll need to cargo uninstall cargo-pgx && cargo install cargo-pgrx --locked.

You may have active instances of Postgres that are managed by cargo pgx. It is best to shut these down before running cargo pgrx init. Rebooting your computer is the simplest way to accomplish this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions