postgres
A library for connecting to and querying PostgreSQL databases.
This driver uses the more efficient and secure extended query format of the PostgreSQL protocol.
Usage
Create PostgreSQLConnections and open them:
var connection = PostgreSQLConnection("localhost", 5432, "dart_test", username: "dart", password: "dart"); await connection.open();
Execute queries with query:
List<List<dynamic>> results = await connection.query("SELECT a, b FROM table WHERE a = @aValue", substitutionValues: { "aValue" : 3 }); for (final row in results) { var a = row[0]; var b = row[1]; }
Return rows as maps containing table and column names:
List<Map<String, Map<String, dynamic>>> results = await connection.mappedResultsQuery( "SELECT t.id, t.name, u.name FROM t LEFT OUTER JOIN u ON t.id=u.t_id"); for (final row in results) { var tID = row["t"]["id"]; var tName = row["t"]["name"]; var uName = row["u"]["name"]; }
Execute queries in a transaction:
await connection.transaction((ctx) async { var result = await ctx.query("SELECT id FROM table"); await ctx.query("INSERT INTO table (id) VALUES (@a:int4)", substitutionValues: { "a" : result.last[0] + 1 }); });
See the API documentation: https://pub.dev/documentation/postgres/latest/
Features and bugs
Please file feature requests and bugs at the issue tracker.