/node-red-contrib-postgrestor

Yet another Node-RED node to query PostgreSQL

Primary LanguageHTMLGNU Affero General Public License v3.0AGPL-3.0

node-red-contrib-postgrestor

Postgrestor 👾 is a Node-RED node allowing basic access to Postgres 🐘 database.

Postgrestor sets up a console to execute queries against the configured database.

msg.payload will contain the result object of the query. It has the following properties:

  • command: The sql command that was executed (e.g. "SELECT", "UPDATE", etc.)
  • rowCount: The number of rows affected by the SQL statement
  • oid: The oid returned
  • rows: An array of rows

Postgres implements a template engine allowing parameterized queries:

/* INTEGER id COLUMN */
SELECT * FROM table WHERE id = {{ msg.id }}

/* VARCHAR id COLUMN */
SELECT * FROM table WHERE id = '{{ msg.id }}'

Installation

Using the Node-RED Editor

From version 0.15 of Node-RED you can install Postgrestor directly using the editor. To do this select Manage Palette from the menu (top right), and then select the install tab in the palette.

You can now search for Postgrestor to install.

Installing npm packaged nodes

To install Postgrestor npm-packaged node, you can also, either install it locally within your user data directory (by default, $HOME/.node-red):

cd $HOME/.node-red
npm i postgrestor

or globally alongside Node-RED:

npm i -g posgtrestor

You will need to restart Node-RED for it to pick-up Postgrestor.

NPM

Screen shots

Notes for docker

On some docker installations, the user/password msut be configured via environment variables as shown below.

##############################
  nodered:
    image: snuids/nodered:v0.20.8-v10
    container_name: nodered    
    environment:
      - TZ=Europe/Paris
      - PGHOST=mypostgres
      - PGDATABASE=mydatabase
      - PGPASSWORD=mypassword
      - PGUSER=muuser