Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mantrixflow.com/llms.txt

Use this file to discover all available pages before exploring further.

PostgreSQL is the primary destination in MantrixFlow. Use it for analytics schemas, reporting tables, operational replicas, and clean downstream tables separated from production.

Connection fields

FieldDefaultDescription
Connection NameFriendly label shown in the builder
HostDatabase hostname or IP address
Port5432PostgreSQL port
DatabaseDatabase name
UsernameDatabase user
PasswordDatabase password
SchemapublicDefault schema (overridable per-pipeline in the builder)
SSL Moderequiredisable, require, verify-ca, verify-full

Network access

The destination database must accept inbound connections from MantrixFlow’s static ELT server IP on port 5432. Copy the IP from the connection form and add it as a /32 allowlist rule in your provider’s firewall. See Private database access for provider-specific steps. Private-only destinations without a public endpoint are not supported in this release.

Provider setup

ProviderWhat to configure
AWS RDS / Aurora PostgreSQLAdd an inbound security group rule for port 5432 from MantrixFlow’s /32. See AWS RDS security groups.
SupabaseUse the host from the dashboard. Add MantrixFlow’s /32 under Network Restrictions if enabled. See Supabase Network Restrictions.
NeonUse the direct connection details. Add MantrixFlow to IP Allow when enabled for the project. See Neon IP Allow.
GCP Cloud SQL for PostgreSQLEnable public IP and add MantrixFlow’s /32 as an authorized network. See Google authorized networks.
Azure Database for PostgreSQLUse public access and create a firewall rule with start and end IP both equal to MantrixFlow’s IP. See Azure firewall rules.
Aiven for PostgreSQLAdd MantrixFlow’s /32 to the service IP filter. See Aiven access restrictions.
DigitalOcean Managed PostgreSQLAdd MantrixFlow’s IP as a trusted source for the cluster. See DigitalOcean trusted sources.
Render PostgresUse the external connection details and restrict external access to MantrixFlow’s IP. See Render Postgres networking.

Permissions

Create a dedicated write user instead of using the database owner.
CREATE USER mxf_dest WITH PASSWORD 'strong_password';
GRANT CONNECT ON DATABASE your_db TO mxf_dest;
GRANT USAGE ON SCHEMA analytics TO mxf_dest;
GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA analytics TO mxf_dest;
ALTER DEFAULT PRIVILEGES IN SCHEMA analytics
  GRANT SELECT, INSERT, UPDATE ON TABLES TO mxf_dest;
If MantrixFlow needs to create the destination schema or tables, also grant:
GRANT CREATE ON DATABASE your_db TO mxf_dest;

Step by step

1

Create the destination schema and user

Create the schema you will write into (e.g. analytics) and a dedicated write user using the SQL above.
2

Add MantrixFlow's IP to your firewall

Copy MantrixFlow’s static outbound IP from the connection form and add it as a /32 rule in your provider’s firewall.
3

Add the destination connection in MantrixFlow

Open Connections → + New Connection. Set the role to Destination and choose PostgreSQL. Fill in all fields and click Test Connection. Save after the test passes.
4

Configure the Destination node

In the builder canvas, click ⚙️ on the Destination node. In the Config tab: select this connection, set the Final delivery schema, choose Sync mode (FULL_TABLE), and set Write mode to Upsert. Click Validate config, then use the Preview tab to inspect the target table.

Write modes

The current production write mode in the MantrixFlow UI is Upsert. Append and Replace are visible in the UI but marked Soon.
ModeStatusBehavior
UpsertAvailableInserts new rows and updates existing rows matched by primary key
AppendComing soonInsert only — no deduplication
ReplaceComing soonDrops and recreates the destination table on each run
For upsert, the destination table must have a primary key. MantrixFlow uses it to determine whether to insert or update each row.

Destination schema management

By default MantrixFlow creates the destination table automatically based on the source schema or transform output. If you prefer to manage the schema yourself:
  1. Create the table in the destination database before the first run.
  2. Ensure all column names and compatible types match the pipeline output.
  3. Use cross-type widening if you want broader destination types (e.g. TEXT instead of VARCHAR).

Troubleshooting

SymptomCauseFix
Connection timeoutDestination firewall blocking MantrixFlowAdd MantrixFlow’s /32 to the allowlist
Permission denied at run timeWrite user missing schema or table privilegesRun GRANT USAGE and GRANT INSERT, UPDATE
Duplicate rows on re-runWrite mode is append on a table with a unique keySwitch to upsert
Type mismatch errorSource type incompatible with destination columnCheck data type compatibility
TLS errorProvider requires stricter SSLSet SSL mode to require or verify-full