Here is the practical maintenance problem with Rust. In pgext.extension, I have 48 curated Rust extensions, and they already span five pgrx baselines. But pgext.universe has 194 more Rust extensions outside that curated table. So Rust is not just another source language. It is a growing compatibility surface, and most of that surface is still wild.

Part IV Maintenance in the Wild

Rust Problems

PIGSTY
pgrx 0.12.9 1 extension
pgml
pgrx 0.13.0 1 extension
pg_analytics
pgrx 0.16.1 27 extensions
convertetcd_fdwexplain_uipg_base58pg_bestmatchpg_enigmapg_graphqlpg_idkitpg_jsonschemapg_laterpg_mooncakepg_parquetpg_polylinepg_renderpg_session_jwtpg_smtp_clientpg_summarizepg_tiktokenpg_tokenizerpgddpglite_fusionpgsmcryptoplprqltimescaledb_toolkittypeidvchord_bm25vectorscale
pgrx 0.17.0 17 extensions
anonblock_copy_commandpg_cardanopg_command_fwpg_eviltransformpg_kazsearchpg_pinyinpg_rrfpg_strictpg_whenpglinterpgmqttpgx_ulidtzfvchordvectorizewrappers
pgrx 0.18.0 2 extensions
pg_searchpg_trickle
Wild Rust Extensions 194 more in pgext.universe, outside pgext.extension
zombodbruvectorvectorsplrustlantern_extraswasmpg_branchpgfdbpgclawpgprologpg_turreteva_pg ragrag_bge_small_en_v15rag_jina_reranker_v1_tiny_enpg_sqidsjsoncdcpg_enquouidsupid_pgpg_primalprometheus_fdwpg_duckpipegoldenmatch_pg pg_ferroidbigtablegraph_accelclerk_fdwpgnatspgpupg_pgbouncerjsonschemalancepg_kalampg_ibc_0_1pgsloth mumakpgzanpg_stat_sysinfokilobasepgextmgrpgx_show_hookspgx_trace_hookspostgres_icalorb_fdwavocadocas_codeselements iso_codesmedia_typesmolecular_formulaspg_opendalpgrx_validationpostgreChainpg_chainsyncpg_no_seqscanpg_typescriptpgjwt_rsplidpg_bigmr pg_debug_scanpg_fusionpgteraquriapg_pii_vaultrule_engine_postgre_extensionsa5pgaccumulo_access_pgnatord_pgoidc_validatorpgfakerpgmer2 postilefmodel_rust_postgrespg_ethopicpg_ripplerppdpg_bedtools_rspg_chainutilspg_extensionpg_idnapg_multitenantpostgrethredis_fdw_rs rostgissymbiotic_pythonb64encflamepg_knowledge_graphpg_strpg_substraitpg_tamperlog_rustpgfgapostllmpostrsupamonitor wrapper_deltalakebfncologne_pgdb721_fdweidos_oauthfsm_corehammingkq_cxkq_fxmalwaredb_pgpg_bech32pg_bm25 pg_data_retentionpg_flashbackpg_lakehousepg_ledgerpg_lexopg_logfmtpg_open_meteopg_ortoolspg_probpg_recyclebinpg_registrypg_splade pg_streamingpg_sweeppg_tpchpgauthzpgfirestorepgx_uuidv7pgzstd_rspostgres_redisredis_backed_storagevmagentfdwall_in_one_libbench_pg_unwind bgworker_segfaultbloom_fulonconda_pgsql_rust_extdate_string_converterebs_fdwhessra_authzhypostatsjson_validator_extkham_pgmogipixmorpheme_funcsoptim ped25519pg_condapg_dagdbpg_debyte_extpg_ecdsa_verifypg_elephantduckpg_emdpg_ffmpegpg_graphql_serverpg_ivfflatpg_jalali_calendarpg_nanoid pg_row_hashespg_s2pg_smolidpg_snowflake_idpg_snowidpg_sysloadpg_temporalpg_tviewspg_viewctlpg_walruspg_zen_enginepgautograph pgcuid2pgduck_rspgfspghexpglaspgmer1pgmoljipgnicepgrandpgrx_jsonbphone_numberpksuid postgridsprometheusfdwreplace_stringrpg_base36rtiless3_iosixqlsql_saga_nativestopgaptcetree_similarity_extensionulid varlena_alignmentvisualizing_aggregates