pgx ist ein Framework und eine Tool-Suite für die Entwicklung von hochperformanten PostgreSQL-Extensions mit der Programmiersprache Rust. Es bietet einen Low-Level-API-Wrapper für die Interaktion mit internen Datenbank-Memory-Contexts, Logging-Systemen und Core-Execution-APIs, was die Implementierung benutzerdefinierter Datenbankfunktionalität und Logik direkt innerhalb der Datenbank-Engine ermöglicht.
Die Hauptfunktionen von tcdi/pgx sind: Rust Extension Frameworks, Database Engine Extensions, Extension Functions, Binary Type Codecs, Database Internals, Server Programming Interfaces, Build Toolchains, Safe Internal Access Wrappers.
Open-Source-Alternativen zu tcdi/pgx sind unter anderem: 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.…
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
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
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
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