Range type support for node-postgres.
Install pg-range into your existing pg adapter:
varpg=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:
varRange=require("pg-range").Range;client.query("INSERT INTO table VALUES ($1)",[Range(1,3)]);See the Postgres "Range Types" documentation for details.
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
int4rangeint8rangenumrangetsrangetstzrangedaterange
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!