All Interzoid products and tools from a single launch point: Quickly solve data challenges - better ROI for everything your data flows into -> Launch Now!

🐘 Postgres Data Matching Wizard

Connect directly to your PostgreSQL database and find matching clusters, no file exports needed

The Postgres Data Matching Wizard is a browser-based, step-by-step tool that connects directly to your PostgreSQL database and uses Interzoid's AI-powered similarity algorithms to identify and cluster matching records within your tables. Whether you need to deduplicate company names, match individual names, or find address variations, the wizard walks you through the entire process, from connecting to PostgreSQL through selecting tables and columns to generating a downloadable match report.

The wizard supports 17 languages and guides you through a cascading connection flow: enter your connection details, then select from your available databases, schemas, and tables using dropdown menus populated directly from your PostgreSQL server. No need to manually look up or type database object names.

The wizard works with any PostgreSQL server reachable over the network, including self-managed instances and managed services such as Amazon RDS and Aurora, Azure Database for PostgreSQL, Google Cloud SQL, Supabase, and Neon.

1Prerequisites

Before using the Postgres Data Matching Wizard, you will need:

  • An Interzoid API Key: Register for an account and obtain your unique API license key. This key authenticates your requests and tracks usage credits.
  • A PostgreSQL Database: You will need either a host name, port, username, and password, or a complete PostgreSQL connection string, for a database containing the tables you want to match against.
  • Network Access: Your database must accept connections from the Interzoid matching service. Managed providers often restrict access by IP address or require TLS, so check your provider's firewall or network settings if a connection attempt times out.
  • Available Credits: Each record processed consumes one API credit. Ensure your account has sufficient credits for the number of records in your table.

2Launch the Wizard and Enter Your API Key

Open the Postgres Data Matching Wizard in your browser. Before beginning, enter your Interzoid API key in the top-right area of the header bar. Your key will be saved in your browser for future sessions.

  • API Key Field: Type or paste your API key into the input field in the header. Click the lock/eye icon to toggle visibility.
  • Check Credits: Click the Credits button to verify your current credit balance before starting a job.
  • Language Selection: Click the language dropdown in the navigation bar to switch between any of the 17 supported languages. The entire wizard interface will update immediately. You can also set the language via URL parameter: ?lang=fr for French, ?lang=ja for Japanese, etc.

Once your API key is entered, click Get Started on the introduction screen to begin the wizard.

3Select a Matching Function

The wizard presents six matching functions. Choose the one that matches your data and use case. Each function card shows a description and the column parameters it requires.

Single-Column Functions

These functions analyze one column of data to find matches:

Function Use Case Column Required
Company Name Matching Match variations like "IBM", "I.B.M. Corp", "International Business Machines" Company Name
Individual Name Matching Match "James Johnston", "Jim Johnston", "J. Johnston" as the same person Full Name
Street Address Matching Match "400 E Broadway St" with "400 East Broadway Street" Address

Combination Functions

These functions use two columns together for higher matching precision:

Function Use Case Columns Required
Company + Address Higher precision matching using both company name and street address Company Name, Address
Company + Full Name Contact deduplication using company and individual name Company Name, Full Name
Address + Full Name Person-at-address matching using address and individual name Address, Full Name

Click on the card for your chosen function, then click Next to proceed.

4Connect to PostgreSQL

Enter your connection details and use the cascading dropdown menus to navigate to your data. The wizard connects to PostgreSQL in real time and presents the available objects at each level. PostgreSQL has no compute warehouse concept, so the connection flow goes directly from credentials to database selection.

Connection Flow

Credentials Database Schema

The wizard offers two ways to supply your connection details. Use the toggle at the top of the form to switch between them.

Option A: Connection Fields

  • Host: The host name of your PostgreSQL server (e.g. mydb.example.com).
  • Port: The port your server listens on. Defaults to 5432.
  • Username & Password: The credentials for a role with read access to your target tables.
  • SSL Mode: How the connection negotiates TLS. Choose require (the default) for any managed or cloud-hosted database, verify-ca or verify-full when you need certificate validation, or disable for a local server without TLS configured.

Option B: Connection String

Paste a complete PostgreSQL connection string instead of filling in the fields individually. Both standard forms are accepted:

# URL form
postgres://user:password@host:5432/database?sslmode=require

# Keyword form
host=myhost port=5432 user=bob password=secret dbname=mydb sslmode=require

When you use a connection string, the database is taken from the string itself, so the wizard skips the database dropdown and goes straight to schema selection. Separate username and password fields are not needed, since the string already carries them.

The connection string field is masked by default. Use the eye icon to reveal it and the clipboard icon to copy it, which is useful if you want to save the string elsewhere or reuse it in another tool.

Tip: If your password contains reserved characters such as @, :, /, ?, or #, they must be percent-encoded in the URL form, or you can use the keyword form instead, which requires no encoding.

Connecting and Selecting Your Data

  • Connect Button: Click Connect to validate your connection details. If the connection succeeds, the wizard loads your available databases into a dropdown menu. If it fails, an error message will indicate what went wrong.
  • Database: Select the database containing the table you want to match against. The wizard then loads the available schemas within that database. This step is skipped when you connect with a connection string.
  • Schema: Select the schema that contains your target table. If a public schema exists, the wizard preselects it. Internal schemas such as pg_catalog and information_schema are filtered out of the list.
Tip: Click Disconnect to reset the connection and enter different details, such as when switching to another database server.

Saving Your Connection Details

Below the credentials is a Remember these connection details on this browser toggle. It is off by default, and nothing connection-related is saved until you turn it on.

  • When enabled: The wizard stores your connection mode, host, port, username, password, SSL mode, and connection string in your browser so you do not have to re-enter them next time.
  • When disabled: Any previously saved values are erased immediately, not merely left in place.
  • On shared computers: Because the stored values include your password, leave this toggle off.
Note: Use a Read-Only Role

The wizard only reads from your database, and it is good practice to connect with a role that can do nothing else. Creating a dedicated read-only role takes a moment and gives you complete control over what is exposed:

CREATE ROLE interzoid_reader LOGIN PASSWORD 'strong-password-here';
GRANT CONNECT ON DATABASE mydb TO interzoid_reader;
GRANT USAGE ON SCHEMA public TO interzoid_reader;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO interzoid_reader;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
  GRANT SELECT ON TABLES TO interzoid_reader;

You can revoke access at any time by dropping the role or revoking its privileges.

Note: Managed PostgreSQL Services

Supabase is a cloud-based development platform built around a full PostgreSQL database. It provides the convenience of a managed service while supporting standard SQL, database tables, and PostgreSQL connection methods. Interzoid connects directly to a Supabase database using a standard PostgreSQL connection string, allowing data to be processed and improved without requiring a custom integration. The same applies to other managed PostgreSQL services: if the platform accepts a standard connection string, the wizard can read from it.

When connecting to a managed service, use the connection string your provider supplies rather than composing one by hand. Some providers offer several endpoints, such as a connection pooler alongside a direct connection, and they can differ in host name, port, and network protocol.

Security Note: Your password is transmitted over HTTPS with each connection and discovery request and is not retained by Interzoid after the session ends. It is stored in your browser only if you enable the Remember these connection details toggle described above.

Once you have selected a database and schema, click Next to proceed to table and column selection.

5Select Table, Columns, and Options

Choose the table to match against and configure which columns to use for matching and which columns to include in the output.

Table Selection

The wizard presents a dropdown of all tables and views available in the schema you selected. Choose the one containing the records you want to match. Once selected, the wizard loads the column names from that table in their natural column order.

Match Columns

For each matching parameter required by your chosen function, select the corresponding column from the dropdown. For example, if you chose "Company Name Matching," select the column that contains company names.

  • Single-column functions: Select one column for the matching parameter.
  • Combination functions: Select two different columns, one for each parameter. The two columns must be different.

Output Columns

Use the checkboxes to select which columns from the table you want to include in the match report output. At least one column must be selected. The match columns are automatically included even if you don't check them separately, which ensures the data you matched on always appears in the results.

Tip: Select additional identifying columns (like id, city, state, etc.) to make the match report more useful for downstream analysis. You don't need to include every column, just the ones that help you identify and act on the matches.

Output Options

  • Show Similarity Keys: When enabled (default), each output record includes the generated similarity key as the last column. Records with the same key are matches. Disable this if you want clean output with only the selected data columns.
  • Matches Only: When enabled (default), only records that have at least one other matching record are shown. Disable this to see every record in the table after processing, sorted by similarity key.

Click Next when your selections and options are configured.

6Review and Run

The final screen shows a summary of all your selections: matching function, server, SSL mode, database, schema, table, column assignments, and output options. Review these carefully before proceeding.

Click the green Run Match button to start processing. The wizard will:

  • Validate your API key and check that your account has sufficient credits for the job.
  • Connect to PostgreSQL and read the selected columns from your table.
  • Process each record through the selected matching algorithm using concurrent workers for performance.
  • Generate the match report with records sorted and grouped into clusters of matching entries.

A progress indicator is shown while the job runs. Processing time depends on the number of records. Most tables complete within seconds, while very large tables (up to 500,000 records) may take a minute or more.

Note: If the matching engine encounters too many errors, the job will stop early and display an error message. Verify that your connection is still active and that the selected table and columns are accessible.

7Interpret the Results

The match report appears in the results panel at the bottom of the screen. Records are organized into clusters, groups of records that the AI has determined to be matches. Each cluster is separated by a blank line for readability.

Example Output

For a company name match on a PostgreSQL table with columns company, address, city, state and similarity keys enabled:

IBM Corporation,1 New Orchard Rd,Armonk,NY,d477E1d7sG6dja3hDNsk9P
I.B.M. Corp,1 New Orchard Road,Armonk,NY,d477E1d7sG6dja3hDNsk9P

Microsoft Inc.,1 Microsoft Way,Redmond,WA,k8Rp2mNx4wQjL9vB3cYh7T
Microsoft Corporation,One Microsoft Way,Redmond,WA,k8Rp2mNx4wQjL9vB3cYh7T
MSFT Corp,1 Microsoft Way,Redmond,WA,k8Rp2mNx4wQjL9vB3cYh7T

In this example, the first cluster contains two records identified as variations of IBM, and the second cluster contains three records identified as variations of Microsoft. The last column in each row is the similarity key. All records sharing the same key are considered matches.

8Save Your Results

Click the Save Results button above the results panel to download the match report as a CSV file. On supported browsers, a save dialog will appear allowing you to choose the file name and location. On other browsers, the file will download automatically.

The saved file is clean, delimited text that can be imported directly into spreadsheets, databases, or other data processing tools for further analysis.

Data Pipeline Integration: The match report output has no metadata or headers, just data rows and blank-line cluster separators. This makes it suitable for direct use in automated data pipelines.

The Postgres Data Matching Wizard makes it easy to discover hidden duplicates and matching records directly within your PostgreSQL database. It delivers clean, actionable match reports that help you improve the quality, consistency, and value of your data assets, without ever exporting a file. If you have any questions or need assistance, don't hesitate to reach out to our support team.