PostgreSQL to Kafka
BladePipe supports data replication from PostgreSQL to Kafka. View supported migration, sync, verification, and connector capabilities.
| Function | Description |
|---|---|
Full Data Migration | Migrate data by sequentially scanning data in tables and writing it in batches to the message-oriented middleware. |
Incremental Data Sync | Sync of common DML like INSERT, UPDATE, DELETE is supported. |
Subscription Modification | Add, delete, or modify the subscribed tables with support for historical data migration. For more information, see Modify Subscription. |
DDL Sync | PostgreSQL DDL sync is realized by triggers. The user should have the permissions on triggers and tables. For more information, see Permissions Required for PostgreSQL |
Metadata Retrieval | Retrieve the target metadata with filtering conditions from the source table. |
Advanced Functions
| Function | Description |
|---|---|
Message Format | The following message formats are supported. See Message Format.
|
Topic Mapping Rules | By default, Topic is formed by connecting source instance id, database, and table with . in between (e.g., pg-vgpq6q097174t6t.pg_db.dingtax.app_key). Also, it supports the mapping rules, namely, keeping the name the same as that in Source, converting the text to lowercase, converting the text to uppercase. |
Table-level Topic | Create Topics corresponding to the tables in the Source, and the table partitions can be obtained automatically. |
Scheduled Full Data Migration | For more information, see Create Scheduled Full Data DataJob. |
Custom Code | For more information, see Custom Code Processing, Debug Custom Code and Logging in Custom Code. |
Data Filtering Conditions | Support data filtering using WHERE conditions, with SQL-92 as the SQL language. For more information, see Data Filtering. |
Setting Target Primary Key | Change the primary key to another field to facilitate data aggregation and other operations. |
Prerequisites
| Prerequisite | Description |
|---|---|
Permissions for Account | Required permissions (taking a self-managed database as an example):
|
Incremental Data Sync Preparation | Prepare as follows:
|
Port Preparation | Allow the migration and sync node (Worker) to connect to the PostgreSQL port (e.g., port 5432). |
Parameters
| Parameter | Description |
|---|---|
fullFetchSize | Fetch size for scaning full data. |
eventStoreSize | Cache size for parsed incremental events. |
ignoreGisSRID | Whether to ignore SRID when parsing GIS data types. |
defaultGisSRID | Set the SRID for GIS data types. |
Tips: To modify the general parameters, see General Parameters and Functions.
Prerequisites
| Prerequisite | Description |
|---|---|
Port Preparation | Allow the migration and sync node (Worker) to connect to the Kafka ports. |
Parameters
| Parameter | Description |
|---|---|
schemaFormat | Message format. For more information, see Message Format. |
batchWriteSize | The maximum data size of a single message. If the size exceeds the limit, the message will be split. |
defaultTopic | Messages that cannot find a corresponding topic are sent to this topic (such as adding a new table) |
ddlTopic | A topic specifically used to receive DDL events. If it is empty, the DDL events will be sent to the 0th partition of the corresponding topic. |
compressionType | Kafka compression.type parameter to set compression algorithm. Support GZIP, SNAPPY, LZ4, ZSTD. |
batchSize | Kafka batch.size parameter. |
acks | Kafka acks parameter. By default, it is all. |
maxRequestBytes | Kafka max.request.size parameter. |
lingerMs | Kafka linger.ms parameter. By default, it is 1. |
envelopSchemaInclude | When schemaFormat is set to DEBEZIUM_ENVELOP_JSON_FOR_MQ, it means whether the message body contains schema information. |
customClientProps | Custom properties passed to the Kafka client in JSON format. The key is the parameter name and the value is the parameter value. This setting takes the highest priority. For example: AWS IAM Access Control |
Tips: To modify the general parameters, see General Parameters and Functions.