Our data dictionary extension, PgDD,
has been re-written using the pgx framework in Rust!
At this time I have tagged
0.4.0.rc3 and just need to do a bit more testing before
While I am excited for the news for PgDD, what is more exciting is the
pgx framework and the ease it brings to developing Postgres extensions!
Getting started with pgx is straightforward and using
cargo pgx run makes it
simple to build your extension against multiple versions of Postgres.
This post outlines how I came to the decision to use pgx for Postgres extension development.
Progression of PgDD
Before now, PgDD was a raw SQL extension, with that version being an evolution from prior iterations.
Shortly after I converted PgDD to a raw SQL extension I wanted it to do more,
specifically related to supporting newer features such as
Supporting new features in new versions of Postgres is a good idea, but I couldn’t
drop support for older versions at that time either.
Using generated columns as an example, the feature was added in Postgres 12 and
came along with an update to the
catalog. In Pg12 and newer,
has a column named
attgenerated while earlier versions of Postgres do not have