{"id":47827853,"url":"https://github.com/muench-dev/n8n-nodes-postgres","last_synced_at":"2026-04-03T20:02:01.068Z","repository":{"id":348985652,"uuid":"1200595990","full_name":"muench-dev/n8n-nodes-postgres","owner":"muench-dev","description":"n8n node with more operations like \"row exists\", \"list tables\".","archived":false,"fork":false,"pushed_at":"2026-04-03T19:07:06.000Z","size":588,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T19:38:59.680Z","etag":null,"topics":["n8n","n8n-community-node-package","n8n-node","n8n-nodes"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/muench-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-03T15:47:24.000Z","updated_at":"2026-04-03T19:07:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/muench-dev/n8n-nodes-postgres","commit_stats":null,"previous_names":["muench-dev/n8n-nodes-postgres"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/muench-dev/n8n-nodes-postgres","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muench-dev%2Fn8n-nodes-postgres","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muench-dev%2Fn8n-nodes-postgres/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muench-dev%2Fn8n-nodes-postgres/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muench-dev%2Fn8n-nodes-postgres/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muench-dev","download_url":"https://codeload.github.com/muench-dev/n8n-nodes-postgres/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muench-dev%2Fn8n-nodes-postgres/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31374051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T17:53:18.093Z","status":"ssl_error","status_checked_at":"2026-04-03T17:53:17.617Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["n8n","n8n-community-node-package","n8n-node","n8n-nodes"],"created_at":"2026-04-03T20:02:00.390Z","updated_at":"2026-04-03T20:02:01.055Z","avatar_url":"https://github.com/muench-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @muench-dev/n8n-nodes-postgres\n\n`@muench-dev/n8n-nodes-postgres` is an n8n community node that adds Postgres checks and metadata lookups that are not covered by the built-in Postgres node.\n\nIt is designed for workflows that need to filter incoming items based on database state, detect changes in a tracked column, or inspect schemas, tables, and views directly from PostgreSQL.\n\n[Installation](#installation)\n[Operations](#operations)\n[Credentials](#credentials)\n[Compatibility](#compatibility)\n[Usage](#usage)\n[Resources](#resources)\n[Version history](#version-history)\n\n## Installation\n\nFollow the [n8n community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/).\n\nFor a self-hosted n8n instance, you can also install the package directly:\n\n```bash\nnpm install @muench-dev/n8n-nodes-postgres\n```\n\nAfter installation, restart n8n and search for `Postgres Extended` in the node picker.\n\n## Operations\n\nThe package currently provides one node: `Postgres Extended`.\n\nSupported operations:\n\n| Resource | Operation           | What it does                                                              |\n| -------- | ------------------- | ------------------------------------------------------------------------- |\n| Check    | Row Exists          | Outputs only items for which at least one matching row exists             |\n| Check    | Row Does Not Exist  | Outputs only items for which no matching row exists                       |\n| Check    | Row Count Threshold | Outputs only items whose matching row count satisfies a threshold         |\n| Check    | Value Has Changed   | Outputs only items where a watched column differs from the expected value |\n| Metadata | List Schemas        | Returns database schemas                                                  |\n| Metadata | List Tables         | Returns base tables for a selected schema                                 |\n| Metadata | List Views          | Returns views for a selected schema                                       |\n\n## Credentials\n\nThis package does not ship its own credential type.\n\n`Postgres Extended` reuses n8n's built-in `postgres` credential, so you can point it at the same database connections you already use with the core Postgres node.\n\nTypical setup:\n\n1. Create or reuse a standard Postgres credential in n8n.\n2. Configure host, port, database, username, password, and SSL settings as needed.\n3. Select that credential in `Postgres Extended`.\n\nThe node uses the same connection details supported by the core credential, including SSL-enabled connections.\n\n## Compatibility\n\n- Built as an n8n community node package using `n8nNodesApiVersion: 1`\n- Depends on the built-in n8n `postgres` credential being available\n- Best suited for current self-hosted n8n versions that support community nodes and the core Postgres node\n\nIf you run an older n8n release and the built-in Postgres credential differs from current n8n behavior, verify the node in a staging environment first.\n\n## Usage\n\n### Check operations\n\nAll check operations work item-by-item. The node evaluates the configured schema, table, and conditions for each incoming item and only forwards items that match the selected rule.\n\nAvailable condition operators:\n\n- `Equal`\n- `Not Equal`\n- `Like`\n- `Greater Than`\n- `Less Than`\n- `Greater Than Or Equal`\n- `Less Than Or Equal`\n- `Is Null`\n- `Is Not Null`\n\nYou can combine conditions with either:\n\n- `All Conditions`\n- `Any Condition`\n\n### Row Exists\n\nUse this when a workflow item should continue only if a matching row is already present.\n\nExample: continue only if `public.users` contains a row where `email = {{$json.email}}`.\n\n### Row Does Not Exist\n\nUse this to prevent duplicates.\n\nExample: continue only if `public.users` does not contain a row where `external_id = {{$json.id}}`.\n\n### Row Count Threshold\n\nThis operation compares the number of matching rows against a threshold using one of these comparisons:\n\n- `At Least`\n- `More Than`\n- `Exactly`\n- `Less Than`\n- `At Most`\n\nWhen an item matches, the node adds these fields to the output JSON:\n\n- `rowCount`\n- `threshold`\n\n### Value Has Changed\n\nUse this to detect whether a database value is no longer what you expect.\n\nYou provide:\n\n- conditions to identify the row\n- a `Watch Column`\n- an `Expected Value`\n\nWhen the current database value differs from the expected value, the item is forwarded and enriched with:\n\n- `currentValue`\n- `expectedValue`\n\nThis is useful for change detection, status monitoring, and guarding downstream steps.\n\n### Metadata operations\n\nMetadata operations ignore item content and return database structure information instead:\n\n- `List Schemas` returns `schemaName`\n- `List Tables` returns `tableName` and `schemaName`\n- `List Views` returns `viewName` and `schemaName`\n\n### Notes\n\n- Schema and table names can be selected from n8n resource pickers or entered manually.\n- Column options are loaded dynamically from the selected table.\n- `LIKE` supports PostgreSQL wildcard matching such as `%` and `_`.\n- `Value Has Changed` requires at least one matching row. If none is found, the node errors unless `Continue On Fail` is enabled.\n- `Continue On Fail` is supported, so per-item database errors can be emitted as error items instead of failing the whole execution.\n\n## Resources\n\n- [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)\n- [n8n Postgres node documentation](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/)\n- [PostgreSQL documentation](https://www.postgresql.org/docs/)\n\n## Version history\n\n### 0.2.1\n\nCurrent package version.\n\nIncludes:\n\n- `Postgres Extended` node\n- check operations for row existence, row absence, row count thresholds, and value change detection\n- metadata operations for schemas, tables, and views\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuench-dev%2Fn8n-nodes-postgres","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuench-dev%2Fn8n-nodes-postgres","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuench-dev%2Fn8n-nodes-postgres/lists"}