DBIO-PostgreSQL-Async

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

        - Sync fallback (->all, ->first, etc. via blocking ->get on the Future)

    * Transactions
        - txn_do_async with BEGIN/COMMIT/ROLLBACK chaining
        - Transaction context with connection pinning

    * Pipelining
        - Pipeline mode batching multiple queries in a single round-trip

    * LISTEN/NOTIFY
        - Real-time event streaming via ->listen and ->notify

    * COPY
        - COPY IN for bulk data loading

    * Connection pool
        - Async connection pool with transaction pinning

    * AccessBroker
        - Accept AccessBroker objects via Schema->connect($broker)
        - Refresh async conninfo through the broker for new pooled connections

README.md  view on Meta::CPAN

Async PostgreSQL storage for [DBIO](https://metacpan.org/pod/DBIO) using
[EV::Pg](https://metacpan.org/pod/EV::Pg).

Bypasses DBI entirely - speaks libpq's async protocol directly for
maximum performance (124k queries/sec in pipeline mode).

## Features

- **Non-blocking queries** - returns Futures, never blocks the event loop
- **Pipeline mode** - batch queries in a single network round-trip
- **LISTEN/NOTIFY** - real-time event streaming from PostgreSQL
- **COPY** - bulk data loading at wire speed
- **Connection pooling** - with transaction pinning
- **AccessBroker support** - `Schema->connect($broker)` with broker-refreshed conninfo for new pool connections
- **Sync fallback** - `->all`, `->first` etc. still work (blocking)

## Synopsis

```perl
my $schema = MyApp::Schema->connect(
    'DBIO::PostgreSQL::Async',

lib/DBIO/PostgreSQL/Async/Storage.pm  view on Meta::CPAN

No DBI, no DBD::Pg, just raw libpq performance.

Features:

=over 4

=item * Pipeline mode — batch queries in a single network round-trip

=item * Prepared statement caching

=item * LISTEN/NOTIFY for real-time event streaming

=item * COPY IN/OUT for bulk data transfer

=item * Connection pooling with transaction pinning

=back

=head1 METHODS

=head2 future_class



( run in 0.900 second using v1.01-cache-2.11-cpan-6aa56a78535 )