awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
tcdi avatar

tcdi/pgx

0
View on GitHub↗
4,716 stars·324 forks·Rust·9 views

Pgx

pgx is a framework and suite of tools for developing high-performance PostgreSQL extensions using the Rust programming language. It provides a low-level API wrapper to interact with internal database memory contexts, logging systems, and core execution APIs, enabling the implementation of custom database functionality and logic directly within the database engine.

The project distinguishes itself through a dedicated build tool and command line interface that manages the extension development lifecycle, from environment initialization to binary packaging. It includes a type mapper that translates language structures into database composite types and automatically generates the corresponding SQL schema definitions.

The framework covers a broad capability surface including user-defined function mapping, binary protocol integration, and multi-version target support to ensure compatibility across different database releases. It also provides specialized memory management wrappers to handle pointers and prevent leaks within the database environment.

Features

  • Rust Extension Frameworks - Provides a comprehensive framework for developing high-performance, memory-safe PostgreSQL extensions using the Rust language.
  • Database Engine Extensions - Provides a comprehensive framework for building custom extensions that modify the operational logic of the database engine.
  • Extension Functions - Enables the creation of specialized database functions and triggers by mapping Rust code to the internal execution system.
  • Binary Type Codecs - Implements specialized binary codecs for translating PostgreSQL internal binary representations into native Rust objects.
  • Database Internals - Provides low-level access to internal database APIs and logging systems for advanced extension logic.
  • Server Programming Interfaces - Provides safe Rust bindings to the PostgreSQL Server Programming Interface for executing queries from within extensions.
  • Build Toolchains - Ships a dedicated CLI for managing the full extension development lifecycle from initialization to binary packaging.
  • Safe Internal Access Wrappers - Provides safe wrappers for interacting with PostgreSQL internal memory contexts, pointers, and system functions.
  • Binary Protocol Implementations - Implements the database-specific binary wire protocol for efficient data exchange and type mapping.
  • PostgreSQL User-Defined Functions - Maps typed Rust functions to the PostgreSQL internal execution system to create custom functions and triggers.
  • PostgreSQL Memory Context Wrappers - Provides safe Rust wrappers for PostgreSQL memory contexts to prevent leaks and manage resource lifetimes.
  • Database Memory Management - Provides specialized memory management techniques to handle low-level allocation and pointers within the database engine.
  • Database FFI Bridges - Implements bridges between Rust and the internal C API of the database server to execute native code.
  • Database Version Compatibility - Allows a single codebase to be built and tested against multiple installed PostgreSQL versions.
  • Database Version Compatibility - Ensures the codebase remains stable and compatible across different releases of the PostgreSQL engine.
  • SQL Schema Generators - Automatically translates Rust structures into PostgreSQL composite types and generates the corresponding SQL schema definitions.
  • Toolchain Orchestration - Provides a command line utility to orchestrate the compilation and deployment sequence for database extensions.
  • CLI Development Tools - Ships a dedicated command line interface to manage the extension development lifecycle, from initialization to packaging.
  • SQL Schema Generators - Automatically generates required SQL schema definitions based on the programming types defined in Rust.
  • High-Performance Systems Programming - Leverages high-performance systems programming in Rust for resource-efficient database functionality and manual memory control.
  • SQL Schema Generators - Uses procedural macros to automatically generate SQL schema definitions from Rust language structures during compilation.
  • Custom Database Type Bindings - Implements serialization protocols to map Rust structures to database composite types and enums.
  • Database Drivers - Rust database driver.

Star history

Star history chart for tcdi/pgxStar history chart for tcdi/pgx

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Pgx

Similar open-source projects, ranked by how many features they share with Pgx.
  • pgcentralfoundation/pgrxpgcentralfoundation avatar

    pgcentralfoundation/pgrx

    4,720View on GitHub↗

    pgrx is a framework for building and packaging custom PostgreSQL extensions using Rust. It serves as a foreign function interface bridge that maps Rust types and functions to the internal server programming interface of the database. The project provides a specialized toolchain for cross-compilation across different operating systems and target architectures using custom sysroots. It includes a schema generator that automatically translates high-level language structures into SQL definitions and binary protocol mappings. The framework manages memory safety by wrapping database memory context

    Rustpostgrespostgresqlpostgresql-extension
    View on GitHub↗4,720
  • magicstack/asyncpgMagicStack avatar

    MagicStack/asyncpg

    7,953View on GitHub↗

    asyncpg is an asynchronous database driver and binary protocol client for PostgreSQL. It provides a non-blocking interface for executing SQL statements, streaming result sets, and managing data transfer between an application and a PostgreSQL database. The driver implements the PostgreSQL binary protocol directly to facilitate efficient data transfer and type conversion. It includes a connection pool to maintain and reuse open database connections, reducing the latency associated with repeated handshakes. The project covers a broad range of database integration capabilities, including atomic

    Pythonasync-programmingasync-pythonasyncio
    View on GitHub↗7,953
  • brianc/node-postgresbrianc avatar

    brianc/node-postgres

    13,155View on GitHub↗

    This project is a Node.js client for PostgreSQL databases, providing a protocol parser to translate raw binary streams into JavaScript objects. It serves as a driver for executing queries, managing data, and integrating Node.js applications with PostgreSQL backends. The library includes a connection pool manager to reduce network overhead by caching reusable connections and a result streamer that uses cursors to retrieve large datasets incrementally. It also functions as an event listener for subscribing to asynchronous server-side notifications to trigger real-time application events. Broad

    JavaScriptlibpqnode-postgrespostgres
    View on GitHub↗13,155
  • lib/pqlib avatar

    lib/pq

    9,903View on GitHub↗

    pq is a PostgreSQL driver for Go that implements the standard database/sql interface. It serves as a connection library and protocol implementation that translates application data types into the binary and text formats required by PostgreSQL. The project provides specialized utilities for high-performance data ingestion using bulk data loading and a dedicated bulk data importer. It also features an implementation for listening to asynchronous server notifications and provides tools for connection load balancing across multiple hosts and ports. The driver covers a broad surface of database i

    Go
    View on GitHub↗9,903
See all 30 alternatives to Pgx→

Frequently asked questions

What does tcdi/pgx do?

pgx is a framework and suite of tools for developing high-performance PostgreSQL extensions using the Rust programming language. It provides a low-level API wrapper to interact with internal database memory contexts, logging systems, and core execution APIs, enabling the implementation of custom database functionality and logic directly within the database engine.

What are the main features of tcdi/pgx?

The main features of tcdi/pgx are: Rust Extension Frameworks, Database Engine Extensions, Extension Functions, Binary Type Codecs, Database Internals, Server Programming Interfaces, Build Toolchains, Safe Internal Access Wrappers.

What are some open-source alternatives to tcdi/pgx?

Open-source alternatives to tcdi/pgx include: pgcentralfoundation/pgrx — pgrx is a framework for building and packaging custom PostgreSQL extensions using Rust. It serves as a foreign… magicstack/asyncpg — asyncpg is an asynchronous database driver and binary protocol client for PostgreSQL. It provides a non-blocking… brianc/node-postgres — This project is a Node.js client for PostgreSQL databases, providing a protocol parser to translate raw binary streams… npgsql/npgsql — Npgsql is a .NET data provider and client library that enables applications to connect, execute queries, and manage… lib/pq — pq is a PostgreSQL driver for Go that implements the standard database/sql interface. It serves as a connection… jackc/pgx — This project is a database driver and interface for the Go programming language, specifically designed for PostgreSQL.…