postgres_fork 2.8.4 copy "postgres_fork: ^2.8.4" to clipboard
postgres_fork: ^2.8.4 copied to clipboard

PostgreSQL database driver. Supports statement reuse and binary protocol.

example/README.md

postgres example #

v2 API #

import 'package:enough_convert/enough_convert.dart';
import 'package:postgres_fork/postgres.dart';

void main(List<String> args) async {
  // create connection
  final connection = PostgreSQLConnection(
    'localhost',
    5432,
    'data_base',
    username: 'postgres',
    password: 'pass',
    encoding: Windows1252Codec(allowInvalid: false),
  );
  // open connection
  await connection.open();
  // set client_encoding
  await connection.query('''SET client_encoding = 'win1252';''');

  final now1 = DateTime.parse(DateTime.now().toIso8601String());

  // execute insert  
  final res = await connection.query(''' INSERT INTO public.favorites
  (id,date_register,description)
  VALUES (10, ? , ? ) returning id''',
      substitutionValues: [now1, 'City Hall of São Paulo - Brazil'],
      placeholderIdentifier: PlaceholderIdentifier.onlyQuestionMark);

  print('result: $res');

  // execute transaction with select
  final res2 = await connection.transaction((ctx) {
    return ctx.query(' SELECT * FROM public.favorites WHERE id=? ',
        substitutionValues: [res.first.first],
        allowReuse: true,
        timeoutInSeconds: 10,
        placeholderIdentifier: PlaceholderIdentifier.onlyQuestionMark);
  });

  print('result: $res2');

  // execute select and returning as map
  final res3 = await connection.mappedResultsQuery(
      ' SELECT * FROM public.favorites ORDER BY id desc LIMIT @limite',
      substitutionValues: {'limite': 10},
      placeholderIdentifier: PlaceholderIdentifier.atSign);

  print('result: $res3');

  await connection.close();
}


v3 API #

import 'package:postgres_fork/postgres_v3_experimental.dart';

void main() async {
  final database = PgEndpoint(host: 'localhost', database: 'postgres');
  final connection = await PgConnection.open(database);
  print('has connection!');

  final statement = await connection.prepare(PgSql(r"SELECT 'foo';"));
  print('has statement');
  final result = await statement.run(null);
  print(result);
  await statement.dispose();

  final anotherStatement = await connection
      .prepare(PgSql(r'SELECT $1;', types: [PgDataType.bigInteger]));
  final bound = anotherStatement.bind([1]);
  final subscription = bound.listen((row) {
    print('row: $row');
  });
  await subscription.asFuture();
  await subscription.cancel();
  print(await subscription.affectedRows);
  print(await subscription.schema);

  await connection.close();  
}


3
likes
130
points
169
downloads

Publisher

unverified uploader

Weekly Downloads

PostgreSQL database driver. Supports statement reuse and binary protocol.

Repository (GitHub)

Documentation

API reference

License

unknown (license)

Dependencies

async, buffer, charcode, collection, crypto, enough_convert, meta, pg_timezone, pool, sasl_scram, stack_trace, stream_channel

More

Packages that depend on postgres_fork