pgtools

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

Usage no npm install needed!

<script type="module">
  import pgtools from 'https://cdn.skypack.dev/pgtools';
</script>

README

pgtools

Build Status Coverage Status Standard Version 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

const 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.