1
0
mirror of https://github.com/danog/postgres.git synced 2024-11-30 04:29:12 +01:00
Go to file
Aaron Piotrowski 97022a4889
Refactor PooledStatement
PooledStatement now holds a collection of statements created from the pool, releasing them at the same frequency as connections are released from the pool.

Added a lastUsedAt() method to Statement.
2018-03-30 11:55:23 -05:00
examples Add support for named and ? placeholders 2018-01-23 23:00:22 -06:00
src Refactor PooledStatement 2018-03-30 11:55:23 -05:00
test Refactor PooledStatement 2018-03-30 11:55:23 -05:00
travis Move extension installation to separate scripts 2017-05-26 16:33:11 -05:00
.gitattributes Update export-ignore files 2017-11-22 20:35:23 -06:00
.gitignore Use code fixer 2017-05-15 23:27:47 -05:00
.php_cs.dist lib → src 2018-03-26 23:02:35 -05:00
.travis.yml Define target platform in composer.json and fix .travis.yml 2017-12-02 19:53:38 -06:00
composer.json lib → src 2018-03-26 23:02:35 -05:00
LICENSE Initial commit 2016-09-14 09:27:39 -05:00
Makefile lib → src 2018-03-26 23:02:35 -05:00
phpdoc.dist.xml Initial commit 2016-09-14 09:27:39 -05:00
phpunit.xml.dist lib → src 2018-03-26 23:02:35 -05:00
README.md Error if pecl-ev is used with ext-pgsql 2018-02-28 19:00:24 -06:00

postgres

Build Status Code Coverage Release License

Async PostgreSQL client built with Amp.

Installation

This package can be installed as a Composer dependency.

composer require amphp/postgres

Requirements

Note: pecl-ev is not compatible with ext-pgsql. If you wish to use pecl-ev for the event loop backend, you must use pecl-pq.

Documentation & Examples

Prepared statements and parameterized queries support named placeholders, as well as ? and standard numeric (i.e. $1) placeholders.

More examples can be found in the examples directory.

Amp\Loop::run(function () {
    /** @var \Amp\Postgres\Pool $pool */
    $pool = Amp\Postgres\pool("host=localhost user=postgres dbname=test");

    /** @var \Amp\Postgres\Statement $statement */
    $statement = yield $pool->prepare("SELECT * FROM test WHERE id = :id");

    /** @var \Amp\Postgres\ResultSet $result */
    $result = yield $statement->execute(['id' => 1337]);
    while (yield $result->advance()) {
        $row = $result->getCurrent();
        // $row is an array (map) of column values. e.g.: $row['column_name']
    }
});

Versioning

amphp/postgres follows the semver semantic versioning specification like all other amphp packages.

Security

If you discover any security related issues, please email contact@amphp.org instead of using the issue tracker.

License

The MIT License (MIT). Please see LICENSE for more information.