n8n-nodes-intersystems-iris
v0.1.0
Published
n8n community node to store AI agent chat memory in InterSystems IRIS over its Postgres wire protocol (iris-pgwire)
Downloads
217
Readme
n8n-nodes-intersystems-iris
An n8n community node that stores AI agent chat memory in InterSystems IRIS, using IRIS's PostgreSQL wire-protocol endpoint (iris-pgwire).
The table schema, message inserts, and reads all live in IRIS. The PostgreSQL client library is only used as the transport.
Nodes
- IRIS Chat Memory — a Memory sub-node for the AI Agent. Persists the conversation history to an IRIS table, keyed by session, with a configurable context window.
Prerequisites
- An InterSystems IRIS instance reachable over iris-pgwire.
- n8n
1.xor later with community nodes enabled.
Installation
Follow the community node installation guide, or in n8n go to Settings → Community Nodes → Install and enter:
n8n-nodes-intersystems-irisCredential: IRIS Pgwire API
| Field | Notes |
| --- | --- |
| Host | IRIS host running iris-pgwire |
| Namespace | IRIS namespace (maps to the Postgres "database" concept), e.g. USER |
| User | e.g. _SYSTEM |
| Password | |
| Port | iris-pgwire listener port (commonly 5432) |
| SSL | disable / allow / require |
Usage
- Add an AI Agent node with a Chat Trigger.
- On the Agent's Memory input, add IRIS Chat Memory.
- Select (or create) an IRIS Pgwire API credential.
- Optionally set the Table Name (default
n8n_chat_histories) and Context Window Length.
The table is created automatically on first use.
How it differs from the Postgres Chat Memory node
IRIS pgwire speaks the PostgreSQL protocol, but IRIS is a different database underneath. This node handles two protocol differences:
- No
JSON/JSONBcolumn type. The stock LangChain Postgres history stores its message column asJSONB, which IRIS rejects. This node stores the serialized message in a wideVARCHARand (de)serializes the JSON in JavaScript.LONGVARCHARis avoided because over pgwire it reads back as a stream reference rather than inline text. - Zero-row
DELETE. IRIS pgwire raises an error when aDELETEmatches no rows; clearing an empty session is treated as a valid no-op.
Development
npm install
npm run build # n8n-node build
npm run lint # n8n-node lint
npm test # vitest