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 statementoid
: The oid returnedrows
: 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 }}'
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.
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.
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