Skip to content

Latest commit

 

History

History
102 lines (70 loc) · 2.5 KB

README.md

File metadata and controls

102 lines (70 loc) · 2.5 KB

pgtools

Build Status Coverage Status Standard Version

Pure Node.js implementation of PostgreSQL's createdb and dropdb tools.

Only supports connection options and database name at the moment.

Install

npm install --save -g pgtools

CLI Example

createdbjs my_awesome_db --user=admin --password=admin

Programatic Example

var pgtools = require('pgtools');

// This can also be a connection string
// (in which case the database part is ignored and replaced with postgres)

const config = {
  user: 'postgres',
  password: 'some pass',
  port: 5432,
  host: 'localhost'
}

pgtools.createdb(config, 'test-db', function (err, res) {
  if (err) {
    console.error(err);
    process.exit(-1);
  }
  console.log(res);

  pgtools.dropdb(config, 'test-db', function (err, res) {
    if (err) {
      console.error(err);
      process.exit(-1);
    }
    console.log(res);
  });
});
// a promise API is also available if cb is omitted

Usage

pgtools.createdb(config, dbname [, cb(err)])

pgtools.dropdb(config, dbname [, cb(err)])

  • object config

    An object with user, password, port, and host properties. This can also be a node-postgres compatible connection string.

  • string dbname

    The name of the database to create.

  • function cb

    A callback that takes an error argument. If cb is omitted the function will return a Promise.

Bins

pgtools installs two useful binaries:

  • createdbjs: which emulates pgtools' createdb functionality.
  • dropdbjs: which emulates pgtools' dropdb functionality.

Node.js support

We support all LTS versions from 6 and up. We try to keep up with the latest Node.js version.

Releasing

Rather than manually running npm version <patch|minor|major>, instead run:

npm run release

This will automatically generating a CHANGELOG, and bump your package version based on the angular commit format.