pg-range

node-postgres plugin to parse tsrange, tstzrange, daterange columns

Showing:

Popularity

Downloads/wk

890

GitHub Stars

20

Maintenance

Last Commit

2yrs ago

Contributors

1

Package

Dependencies

2

Size (min+gzip)

4.2KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

node-pg-range

Range type support for node-postgres.

Usage

Install pg-range into your existing pg adapter:

var pg = require("pg");
require("pg-range").install(pg);

Then make a query that returns range objects!

client.query("SELECT range FROM table", function (result) {
  // result.range = {
  //   begin: Thu Mar 26 2014 17:57:02 GMT-0400 (EDT),
  //   end: Thu Mar 27 2014 17:57:02 GMT-0400 (EDT),
  //   bounds: '[)'
  // }
});

Or make a query that inserts range objects:

var Range = require("pg-range").Range;

client.query("INSERT INTO table VALUES ($1)", [Range(1, 3)]);

See the Postgres "Range Types" documentation for details.

Range objects

pg-range uses stRange.js, a JavaScript range library, to provide a Range class with useful methods, like contains and intersects. See the stRange.js API documentation.

Values of (PostgreSQL) type

  • int4range
  • int8range
  • numrange
  • tsrange
  • tstzrange
  • daterange

will be automatically parsed into instances of Range when the pg-range type adapter is installed.

Warning: When constructing range objects for use in queries, use the pg-range Range constructor as shown above, and not raw stRange.js Range objects. Raw stRange.js objects do not provide a toPostgres method, and will not properly serialize date ranges and empty ranges in queries!

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100