- About Hevo
- Hevo Features
- Hevo System Architecture
- Core Concepts
- Free Trials
- Regulatory Compliance
- Hevo Support
- Getting Started
- Creating an Account in Hevo
- Connection Options
- Familiarizing with the UI
- Creating your First Pipeline
- Data Loss Prevention and Recovery
- Activity Log
- Data Ingestion
- Ingestion Modes and Query Modes
- Ingestion Modes
- Types of Data Synchronization
- Ingestion and Loading Frequency
- Ingestion Frequency and Data Synchronization
- Data Ingestion Statuses
- Deferred Data Ingestion
- Query Modes for Ingesting Data
- Handling of Primary Keys
- Handling of Updates
- Handling of Deletes
- Hevo-generated Metadata
- Data Loading
- Loading Data in a Database Destination
- Loading Data to a Data Warehouse
- Optimizing Data Loading for a Destination Warehouse
- Manually Triggering the Loading of Events
- Scheduling Data Load for a Destination
- Loading Events in Batches
- Data Loading Statuses
- Name Sanitization
- Table and Column Name Compression
- Parsing Nested JSON Fields in Events
- Data Flow in a Pipeline
- Familiarizing with the Pipelines UI
- Pipeline Objects
Working with Pipelines
- Best Practices for Creating Database Pipelines
- Creating a Pipeline
- Scheduling a Pipeline
- Modifying a Pipeline
- Prioritizing a Pipeline
- Viewing Pipeline Progress
- Troubleshooting Data Replication Errors
- Pausing and Deleting a Pipeline
- Log-based Pipelines
- Python Code-Based Transformations
- Drag and Drop Transformations
- Effect of Transformations on the Destination Table Structure
- Transformation Reference
- Using Schema Mapper
- Mapping Statuses
- Auto Mapping Event Types
- Mapping a Source Event Type with a Destination Table
- Mapping a Source Event Type Field with a Destination Table Column
- Schema Mapper Actions
- Fixing Unmapped Fields
- Resolving Incompatible Schema Mappings
- Resizing String Columns in the Destination
- Schema Mapper Compatibility Table
- Troubleshooting Failed Events in a Pipeline
- Pipeline FAQs
- Events Usage
- Free Sources
Databases and File Systems
- Data Warehouses
- Connecting to a Local Database
- Amazon DocumentDB
- Amazon DynamoDB
- Generic MongoDB
- MongoDB Atlas
- Support for Multiple Data Types for the _id Field
- Example - Merge Collections Feature
- Errors During Pipeline Creation
- Troubleshooting MongoDB Change Streams Connection
- Troubleshooting MongoDB OpLog Connection
- SQL Server
- Amazon Aurora MySQL
- Amazon RDS MySQL
- Azure MySQL
- Google Cloud MySQL
- Generic MySQL
- MariaDB MySQL
Errors During Pipeline Creation
- Error 1003 - Connection to host failed
- Error 1006 - Connection to host failed
- Error 1007 - SSH connection failed
- Error 1011 - Access denied
- Error 1012 - Replication access denied
- Error 1017 - Connection to host failed
- Error 1026 - Failed to connect to database
- Error 1027 - Unsupported BinLog format
- Failed to determine binlog filename/position
- Schema 'xyz' is not tracked via bin logs
- Errors Post-Pipeline Creation
- Errors During Pipeline Creation
- MySQL FAQs
- Amazon Aurora PostgreSQL
- Amazon RDS PostgreSQL
- Azure PostgreSQL
- Google Cloud PostgreSQL
- Heroku PostgreSQL
- Generic PostgreSQL
Errors during Pipeline creation
- Error 1003 - Authentication failure
- Error 1006 - Connection settings errors
- Error 1011 - Access role issue for logical replication
- Error 1012 - Access role issue for logical replication
- Error 1014 - Database does not exist
- Error 1017 - Connection settings errors
- Error 1023 - No pg_hba.conf entry
- Error 1024 - Number of requested standby connections
- Errors Post-Pipeline Creation
- Errors during Pipeline creation
- PostgreSQL FAQs
- File Storage
- Engineering Analytics
- Finance & Accounting Analytics
- Apple Search Ads
- Facebook Ads
- Facebook Page Insights
- Google Campaign Manager
- Google Ads
- Google Analytics
- Google Analytics 4
- Google Analytics 360
- Google Play Console
- Google Search Console
- Instagram Business
- LinkedIn Ads
- Microsoft Advertising
- Pinterest Ads
- SendGrid Webhook
- Salesforce Marketing Cloud
- Snapchat Ads
- TikTok Ads
- Twitter Ads
- YouTube Analytics
- Product Analytics
- Sales & Support Analytics
- Source FAQs
- Familiarizing with the Destinations UI
- Amazon Redshift
- Hevo Managed Google BigQuery
- Google BigQuery
- Destination FAQs
- Activate Concepts
- Familiarizing with the Activate UI
- Working with Activate
- Activate Warehouses
- Activate Targets
- Account Management
- Personal Settings
- Team Settings
- Account Suspension and Restoration
- General FAQs
- Release Notes
- Release Version 1.98
- Release Version 1.97
- Release Version 1.96
- Release Version 1.95
- Release Version 1.93 & 1.94
- Release Version 1.92
- Release Version 1.91
- Release Version 1.90
- Release Version 1.89
- Release Version 1.88
- Release Version 1.87
- Release Version 1.86
- Release Version 1.84 & 1.85
- Release Version 1.83
- Release Version 1.82
- Release Version 1.81
- Release Version 1.80 (Jan-24-2022)
- Release Version 1.79 (Jan-03-2022)
- Release Version 1.78 (Dec-20-2021)
- Release Version 1.77 (Dec-06-2021)
- Release Version 1.76 (Nov-22-2021)
- Release Version 1.75 (Nov-09-2021)
- Release Version 1.74 (Oct-25-2021)
- Release Version 1.73 (Oct-04-2021)
- Release Version 1.72 (Sep-20-2021)
- Release Version 1.71 (Sep-09-2021)
- Release Version 1.70 (Aug-23-2021)
- Release Version 1.69 (Aug-09-2021)
- Release Version 1.68 (Jul-26-2021)
- Release Version 1.67 (Jul-12-2021)
- Release Version 1.66 (Jun-28-2021)
- Release Version 1.65 (Jun-14-2021)
- Release Version 1.64 (Jun-01-2021)
- Release Version 1.63 (May-19-2021)
- Release Version 1.62 (May-05-2021)
- Release Version 1.61 (Apr-20-2021)
- Release Version 1.60 (Apr-06-2021)
- Release Version 1.59 (Mar-23-2021)
- Release Version 1.58 (Mar-09-2021)
- Release Version 1.57 (Feb-22-2021)
- Release Version 1.56 (Feb-09-2021)
- Release Version 1.55 (Jan-25-2021)
- Release Version 1.54 (Jan-12-2021)
- Release Version 1.53 (Dec-22-2020)
- Release Version 1.52 (Dec-03-2020)
- Release Version 1.51 (Nov-10-2020)
- Release Version 1.50 (Oct-19-2020)
- Release Version 1.49 (Sep-28-2020)
- Release Version 1.48 (Sep-01-2020)
- Release Version 1.47 (Aug-06-2020)
- Release Version 1.46 (Jul-21-2020)
- Release Version 1.45 (Jul-02-2020)
- Release Version 1.44 (Jun-11-2020)
- Release Version 1.43 (May-15-2020)
- Release Version 1.42 (Apr-30-2020)
- Release Version 1.41 (Apr-2020)
- Release Version 1.40 (Mar-2020)
- Release Version 1.39 (Feb-2020)
- Release Version 1.38 (Jan-2020)
- Upcoming Features
On This Page
- Create a Read Replica (Optional)
- Set up Log-based Incremental Replication
- Whitelist Hevo’s IP Addresses
- Create a Database User and Grant Privileges
- Retrieve the Hostname and Port Number (Optional)
- Specify Azure PostgreSQL Connection Settings
- Object Settings
- Revision History
Azure PostgreSQL Database is a relational database service based on the open-source Postgres database engine. It is a fully-managed, enterprise-ready community PostgreSQL database as a service that can handle mission-critical workloads with predictable performance, security, high availability, and dynamic scalability.
You can ingest data from your Azure PostgreSQL database using Hevo Pipelines and replicate it to a Destination of your choice.
IP address or host name of your PostgreSQL database instance is available.
The PostgreSQL version is 9.5 or higher.
Log-based incremental replication is enabled, if Pipeline mode is Logical Replication.
Perform the following steps to configure your Azure PostgreSQL Source:
Create a Read Replica (Optional)
To use an existing read-replica or connect Hevo to your master database, skip to Set up Log-based Incremental Replication section.
To create a read-replica:
Log in to the Azure Portal.
Under Recent resources, select the database for which you want to create a read-replica.
Under Settings, click Replication, and then, click + Add Replica.
In the Server name field, specify a unique name for the replica server and click OK.
A notification is displayed to confirm that the read-replica was created successfully.
Set up Log-based Incremental Replication
Hevo supports data ingestion from PostgreSQL servers via Write Ahead Logs set at the logical level (available on PostgreSQL version 9.4). A Write Ahead Log(WAL) is a collection of log files that record information about data modifications and data object modifications made on a PostgreSQL server instance. Typically WAL is used for data replication and data recovery.
By default, replication method is set to REPLICA. You must change this to LOGICAL.
To do this:
Access the Microsoft Azure Portal.
Under Settings, click Replication.
In the right pane, select replication support as LOGICAL.
Click YES in the confirmation dialog to restart the Postgres server for the parameter changes to take effect.
Confirm under Notifications that your changes have been applied and server has restarted successfully before running the Pipeline, to avoid errors.
Whitelist Hevo’s IP Addresses
You need to whitelist the Hevo IP addresses for your region to enable Hevo to connect to your PostgreSQL database. You can do this by creating firewall rules in your Microsoft Azure database settings as follows:
Access the Azure Portal.
Under Resources, select the database you want to synchronize with Hevo.
Under Settings, click Connection security.
Create a Firewall Rule:
Specify a firewall rule Name.
Specify Hevo’s IP addresses in the Start IP and End IP fields as per your region.
Note: As Hevo has specific IP addresses and not a range, the value in the Start IP and End IP fields is the same.
Repeat this step to add the IP address for each applicable Hevo region.
Create a Database User and Grant Privileges
1. Create a database user (optional)
To create a database user, open your Azure PostgreSQL database in your SQL client tool as a user with
CREATE privilege and enter the following command:
CREATE ROLE hevo WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION PASSWORD '<password>';
password above with a password of your choice.
2. Grant privileges to the user
The database user specified in the Hevo Pipeline must have the following privileges:
To assign this privileges:
Log in to your Microsoft Azure PostgreSQL database as a user with
Enter the following commands to give accesses to the database user:
GRANT CONNECT ON DATABASE <database_name> to hevo; GRANT USAGE ON SCHEMA <schema_name> TO hevo;
Alter the schema’s default privileges to grant
SELECTprivileges on tables to the database user
ALTER DEFAULT PRIVILEGES IN SCHEMA <schema_name> GRANT SELECT ON TABLES to hevo; GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO hevo;
Retrieve the Hostname and Port Number (Optional)
Note: The Azure PostgreSQL hostnames start with your database name and end with azure.com.
Host : postgres.database.azure.com
Port : 5432
To retrieve the hostname:
Log in to the Microsoft Azure Portal.
Under Recent resources, select your Azure Database for PostgreSQL server.
In the Essentials panel, locate the Server name. Use this Server name as the hostname in Hevo while creating your Pipeline.
The default port is 5432.
Specify Azure PostgreSQL Connection Settings
In the Configure your Azure PostgreSQL Source page, specify the following:
Pipeline Name: A unique name for your Pipeline.
Database Host: The Azure PostgreSQL host’s IP address or DNS. For example, postgres.database.azure.com.
Note: For a URL-based hostname, exclude the
https://part. For example, if the hostname URL is https://postgres.database.azure.com, enter postgres.database.azure.com.
Database Port: The port on which your PostgreSQL server is listening for connections. Default value: 5432.
Database User: The read-only user who has the permissions to read tables in your database.
Database Password: The password for the read-only user.
For Ingestion mode as Table, Refer to section, Object Settings for steps to configure the objects to be replicated.
For Ingestion mode as Logical Replication, follow the steps provided in each PostgreSQL variant document to set up logical replication.
Note: PostgreSQL does not support logical replication for the read replica.
Database Name: The database that you wish to replicate.
Connect through SSH: Enable this option to connect to Hevo using an SSH tunnel, instead of directly connecting your PostgreSQL database host to Hevo. This provides an additional level of security to your database by not exposing your PostgreSQL setup to the public. Read Connecting Through SSH.
If this option is disabled, you must whitelist Hevo’s IP addresses. Refer to the content for your PostgreSQL variant for steps to do this.
Use SSL: Enable it to use SSL encrypted connection. You should also enable this if you are using Heroku PostgreSQL databases. To enable this, specify the following:
CA File: The file containing the SSL server certificate authority (CA).
Client Certificate: The client public key certificate file.
Client Key: The client private key file.
Load Historical Data: Applicable for Pipelines with Logical Replication mode. If this option is enabled, the entire table data is fetched during the first run of the Pipeline. If disabled, Hevo loads only the data that was written in your database after the time of creation of the Pipeline.
Merge Tables: Applicable for Pipelines with Logical Replication mode. If this option is enabled, Hevo merges tables with the same name from different databases while loading the data to the warehouse. Hevo loads the Database Name field with each record. If disabled, the database name is prefixed to each table name. Read How does the Merge Tables feature work?.
Include New Tables in the Pipeline: Applicable for all Ingestion modes except Custom SQL. If enabled, Hevo automatically ingests data from tables created in the Source after the Pipeline has been built. These may include completely new tables or previously deleted tables that have been re-created in the Source. If disabled, new and re-created tables are not ingested automatically. They are added in SKIPPED state in the objects list, in the Pipeline Overview page. You can update their status to INCLUDED to ingest data. You can change this setting later.
Click TEST & CONTINUE to proceed for setting up the Destination.
Object settings must be configured if the Ingestion mode is Table.
To do this:
Once your respective Source connection settings are specified in section Specify Azure PostgreSQL Connection Settings above, select the objects to be replicated in the SELECT the Objects you want to replicate page, and then click CONTINUE.
Note: Each object represents a table in your database.
In the CONFIGURE SOURCE OBJECTS page, specify the query mode to be used for each selected object.
Login using SSL is enabled by default. You can disable it as follows:
Under Settings, click Connection security.
In SSL Settings on the right, set the toggle option for Enforce SSL connection to DISABLED.
The data type Array in the Source is automatically mapped to Varchar at the Destination. No other mapping is currently supported.
Refer to the following table for the list of key updates made to this page:
|Date||Release||Description of Change|
|Jul-04-2022||NA||- Added sections, Specify Azure PostgreSQL Connection Settings and Object Settings.|
|Jan-24-2022||1.80||Removed from Limitations that Hevo does not support UUID datatype as primary key.|
|Sep-09-2021||1.71||Updated the section, Limitations to include information about columns with the UUID data type not being supported as a primary key.|
|Sep-06-2021||NA||Updated the section, Limitations to remove the mention of SSL login not being supported, as it is supported now.|
- Create a Read Replica
- Create a User and Grant Privileges
- Retrieve the Hostname and Port Number.