Last updated:
0 purchases
postgres
PostgreSQL client #
A library for connecting to and querying PostgreSQL databases (see Postgres Protocol). This driver uses the more efficient and secure extended query format of the PostgreSQL protocol.
Usage #
Create a Connection:
final conn = await Connection.open(Endpoint(
host: 'localhost',
database: 'postgres',
username: 'user',
password: 'pass',
));
copied to clipboard
Execute queries with execute:
final result = await conn.execute("SELECT 'foo'");
print(result[0][0]); // first row and first field
copied to clipboard
Named parameters, returning rows as map of column names:
final result = await conn.execute(
Sql.named('SELECT * FROM a_table WHERE id=@id'),
parameters: {'id': 'xyz'},
);
print(result.first.toColumnMap());
copied to clipboard
Execute queries in a transaction:
await conn.runTx((s) async {
final rs = await s.execute('SELECT count(*) FROM foo');
await s.execute(
r'UPDATE a_table SET totals=$1 WHERE id=$2',
parameters: [rs[0][0], 'xyz'],
);
});
copied to clipboard
See the API documentation: https://pub.dev/documentation/postgres/latest/
Connection pooling #
The library supports connection pooling (and masking the connection pool as
regular session executor).
Additional Capabilities #
The library supports connecting to PostgreSQL using the Streaming Replication Protocol.
See Connection documentation for more info.
An example can also be found at the following repository: postgresql-dart-replication-example
Other notes #
This library originally started as StableKernel's postgres library,
but got a full API overhaul and partial rewrite of the internals.
Please file feature requests and bugs at the issue tracker.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.