The actively-maintained destinations are ClickHouse, ClickHouse Cloud, and Postgres. Snowflake, ElasticSearch, Kafka (including the Confluent and Redpanda variants), Azure Event Hubs, Google Pub/Sub, S3, GCS, and BigQuery as a destination are deprecated and no longer actively maintained. They remain fully functional and no code is currently being removed. BigQuery is deprecated only as a destination; it remains a supported source.Query Based or Watermark Based Replication (QRep), including XMIN-based replication, is also a deprecated mirror type. We recommend CDC (Change Data Capture) as the actively-maintained mirror type for new mirrors.
WAL or Change Data Capture (CDC) Based Replication
Below table shows supported features and features we are working on for WAL or CDC Based replication from Postgres to different targets.
ā means supported. š ļø means Work in Progress and Coming Soon!.
Query Based or Watermark Based Replication (QRep), including XMIN-based replication, is a deprecated mirror type and no longer actively maintained. It remains fully functional and no code is currently being removed. We recommend CDC (Change Data Capture) as the actively-maintained mirror type for new mirrors.
Below table shows supported features and features we are working on for Query Based or Watermark Based Replication from Postgres to different targets.
ā means supported. š ļø means Work in Progress and Coming Soon!.
Feature
Snowflake
BigQuery
Postgres
S3/GCS
Initial Snapshot
ā
ā
ā
ā
Incremental Sync Based on Watermark
ā
ā
ā
ā
DML Support - INSERT, UPDATE (if updated_at & primary key are present)
ā
ā
ā
ā
Schema Changes - ADD COLUMN
ā
š ļø
š ļø
š ļø
Resync Mirrors
ā
š ļø
š ļø
š ļø
Partitioned Tables
ā
ā
ā
ā
Advanced Types - Arrays, JSONB, HSTORE, Geospatial etc.
Below table shows what targets we support transformations and their status
Target
Status
EventHubs
ā
Kafka / Redpanda
ā
PubSub
ā
Snowflake
Private Preview
BigQuery
Private Preview
Clickhouse
Private Preview
Postgres
Private Preview
S3/GCS
Private Preview
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"PeerDB Docs: Setup your ETL in minutes with SQL.","colors":{"primary":"#248736","light":"#248736","dark":"#248736"},"favicon":"https://mintcdn.com/peerdb/MRN5BST_xrBv7brJ/favicon.png?fit=max\u0026auto=format\u0026n=MRN5BST_xrBv7brJ\u0026q=85\u0026s=bcb6625d7fc622364e8380f49bc07790","logo":{"light":"https://mintcdn.com/peerdb/wtgPI5cQwjI2FO0m/logo/docs-logo-light.png?fit=max\u0026auto=format\u0026n=wtgPI5cQwjI2FO0m\u0026q=85\u0026s=90ac5de385106617a465b7ba4d33a28e","dark":"https://mintcdn.com/peerdb/wtgPI5cQwjI2FO0m/logo/docs-logo-dark.png?fit=max\u0026auto=format\u0026n=wtgPI5cQwjI2FO0m\u0026q=85\u0026s=feffd926023e0bcf9c5d4282d426fe12"},"navbar":{"primary":{"type":"button","label":"Get Started","href":"https://app.peerdb.cloud"}},"footer":{"socials":{"github":"https://github.com/PeerDB-io"}},"integrations":{"ga4":{"measurementId":"G-1V9ZZCZMB7"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"peerdb","hasAudioNarration":false,"actualSubdomain":"peerdb","customDomains":["docs.peerdb.io"],"gitSource":{"type":"github","owner":"peerdb-io","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aed019de03b16c7c232c60e","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Documentation","count":75},{"language":"default","tag":"Setup","count":17},{"language":"default","tag":"API Reference","count":14},{"language":"default","tag":"API Endpoints","count":14},{"language":"default","tag":"Use-cases","count":12},{"language":"default","tag":"SQL Reference","count":10},{"language":"default","tag":"SQL Commands","count":10},{"language":"default","tag":"PostgreSQL Setup Guide","count":9},{"language":"default","tag":"Features","count":9},{"language":"default","tag":"Mirror","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"features/feature-matrix","slug":"/features/feature-matrix","pageMetadata":{"title":null,"description":null,"href":"/features/feature-matrix"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(Warning,{children:[_jsxs(_components.p,{children:[`The actively-maintained destinations are `,_jsx(_components.strong,{children:`ClickHouse`}),`, `,_jsx(_components.strong,{children:`ClickHouse Cloud`}),`, and `,_jsx(_components.strong,{children:`Postgres`}),`. Snowflake, ElasticSearch, Kafka (including the Confluent and Redpanda variants), Azure Event Hubs, Google Pub/Sub, S3, GCS, and BigQuery as a destination are deprecated and no longer actively maintained. They remain fully functional and no code is currently being removed. BigQuery is deprecated `,_jsx(_components.strong,{children:`only as a destination`}),`; it remains a `,_jsx(_components.strong,{children:`supported source`}),`.`]}),_jsxs(_components.p,{children:[`Query Based or Watermark Based Replication (QRep), including XMIN-based replication, is also a deprecated mirror type. We recommend `,_jsx(_components.a,{href:`/usecases/real-time-cdc/overview`,children:`CDC (Change Data Capture)`}),` as the actively-maintained mirror type for new mirrors.`]})]}),`\n`,_jsx(Heading,{level:`1`,id:`wal-or-change-data-capture-cdc-based-replication`,children:`WAL or Change Data Capture (CDC) Based Replication`}),`\n`,_jsxs(_components.p,{children:[`Below table shows supported features and features we are working on for WAL or CDC Based replication from `,_jsx(_components.strong,{children:`Postgres`}),` to different targets.\nā means supported. š ļø means `,_jsx(_components.strong,{children:`Work in Progress and Coming Soon!`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`warehouses`,children:`Warehouses`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feature`}),_jsx(_components.th,{children:`Snowflake`}),_jsx(_components.th,{children:`BigQuery`}),_jsx(_components.th,{children:`Clickhouse`}),_jsx(_components.th,{children:`Postgres`}),_jsx(_components.th,{children:`S3/GCS`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`https://blog.peerdb.io/parallelized-initial-load-for-cdc-based-streaming-from-postgres#heading-parallelized-initial-snapshot-for-cdc-based-streaming`,children:`Initial Snapshot - Parallelizable`})}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Incremental Sync (CDC)`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`DML Support - INSERT, UPDATE and DELETE`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/features/schema-changes`,children:`Schema Changes`})}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Soft Delete`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`š ļø`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/features/replicating-partitioned-tables`,children:`Partitioned Tables`})}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Advanced Types - Arrays, JSONB, HSTORE, Geospatial etc.`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Advanced Monitoring - Lag, Throughput, Postgres Wait Events etc`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Resync Mirrors`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Column Exclusion`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Add Tables`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`queues`,children:`Queues`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feature`}),_jsx(_components.th,{children:`EventHubs`}),_jsx(_components.th,{children:`Kafka`}),_jsx(_components.th,{children:`Redpanda`}),_jsx(_components.th,{children:`PubSub`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`https://blog.peerdb.io/parallelized-initial-load-for-cdc-based-streaming-from-postgres#heading-parallelized-initial-snapshot-for-cdc-based-streaming`,children:`Initial Snapshot - Parallelizable`})}),_jsx(_components.td,{children:`š ļø`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Incremental Sync (CDC)`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`DML Support - INSERT, UPDATE and DELETE`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`N/A`}),_jsx(_components.td,{children:`N/A`}),_jsx(_components.td,{children:`N/A`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/features/schema-changes`,children:`Schema Changes`})}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`š ļø`}),_jsx(_components.td,{children:`š ļø`}),_jsx(_components.td,{children:`š ļø`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/features/replicating-partitioned-tables`,children:`Partitioned Tables`})}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Advanced Types - Arrays, JSONB, HSTORE, Geospatial etc.`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Advanced Monitoring - Lag, Throughput, Postgres Wait Events etc`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Resync Mirrors`}),_jsx(_components.td,{children:`š ļø`}),_jsx(_components.td,{children:`N/A`}),_jsx(_components.td,{children:`N/A`}),_jsx(_components.td,{children:`N/A`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Column Exclusion`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]})]})]}),`\n`,_jsx(Heading,{level:`1`,id:`query-based-or-watermark-based-replication`,children:`Query Based or Watermark Based Replication`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Query Based or Watermark Based Replication (QRep), including XMIN-based replication, is a deprecated mirror type and no longer actively maintained. It remains fully functional and no code is currently being removed. We recommend `,_jsx(_components.a,{href:`/usecases/real-time-cdc/overview`,children:`CDC (Change Data Capture)`}),` as the actively-maintained mirror type for new mirrors.`]})}),`\n`,_jsxs(_components.p,{children:[`Below table shows supported features and features we are working on for Query Based or Watermark Based Replication from `,_jsx(_components.strong,{children:`Postgres`}),` to different targets.\nā means supported. š ļø means `,_jsx(_components.strong,{children:`Work in Progress and Coming Soon!`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feature`}),_jsx(_components.th,{children:`Snowflake`}),_jsx(_components.th,{children:`BigQuery`}),_jsx(_components.th,{children:`Postgres`}),_jsx(_components.th,{children:`S3/GCS`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Initial Snapshot`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Incremental Sync Based on Watermark`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`DML Support - INSERT, UPDATE (if updated_at \u0026 primary key are present)`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Schema Changes - ADD COLUMN`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`š ļø`}),_jsx(_components.td,{children:`š ļø`}),_jsx(_components.td,{children:`š ļø`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Resync Mirrors`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`š ļø`}),_jsx(_components.td,{children:`š ļø`}),_jsx(_components.td,{children:`š ļø`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Partitioned Tables`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Advanced Types - Arrays, JSONB, HSTORE, Geospatial etc.`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Advanced Monitoring - Throughput, Postgres Wait Events etc`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Column Exclusion`}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `}),_jsx(_components.td,{children:`ā `})]})]})]}),`\n`,_jsx(Heading,{level:`1`,id:`transformations`,children:`Transformations`}),`\n`,_jsx(_components.p,{children:`Below table shows what targets we support transformations and their status`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Target`}),_jsx(_components.th,{children:`Status`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`EventHubs`}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Kafka / Redpanda`}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`PubSub`}),_jsx(_components.td,{children:`ā `})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Snowflake`}),_jsx(_components.td,{children:`Private Preview`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`BigQuery`}),_jsx(_components.td,{children:`Private Preview`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Clickhouse`}),_jsx(_components.td,{children:`Private Preview`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Postgres`}),_jsx(_components.td,{children:`Private Preview`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`S3/GCS`}),_jsx(_components.td,{children:`Private Preview`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":null,"description":null,"href":"/features/feature-matrix"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"WAL or Change Data Capture (CDC) Based Replication","slug":"wal-or-change-data-capture-cdc-based-replication","depth":1,"children":[]},{"title":"Warehouses","slug":"warehouses","depth":2,"children":[]},{"title":"Queues","slug":"queues","depth":2,"children":[]},{"title":"Query Based or Watermark Based Replication","slug":"query-based-or-watermark-based-replication","depth":1,"children":[]},{"title":"Transformations","slug":"transformations","depth":1,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"peerdb","siteName":"PeerDB Docs: Setup your ETL in minutes with SQL.","title":"Feature matrix - PeerDB Docs: Setup your ETL in minutes with SQL.","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-21T18:07:55.665Z","originalFileLocation":"features/feature-matrix.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"PeerDB Docs: Setup your ETL in minutes with SQL.\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/peerdb/AsJEjbO1FwDhXakS/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/peerdb/AsJEjbO1FwDhXakS/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/peerdb/AsJEjbO1FwDhXakS/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/peerdb/AsJEjbO1FwDhXakS/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/peerdb/AsJEjbO1FwDhXakS/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/peerdb/AsJEjbO1FwDhXakS/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/peerdb/AsJEjbO1FwDhXakS/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/peerdb/AsJEjbO1FwDhXakS/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/peerdb/AsJEjbO1FwDhXakS/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Feature matrix - PeerDB Docs: Setup your ETL in minutes with SQL.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PeerDB Docs: Setup your ETL in minutes with SQL.\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.peerdb.io/features/feature-matrix\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://peerdb.mintlify.site/_mintlify/api/og/v2?division=Features\u0026amp;title=Feature+matrix\u0026amp;theme=0c9020805cc6aa769a2dba47\u0026amp;signature=53030250a9e041209dc5ad79e1b3a7fb229df03e497ccca188669074dac06176\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Feature matrix - PeerDB Docs: Setup your ETL in minutes with SQL.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://peerdb.mintlify.site/_mintlify/api/og/v2?division=Features\u0026amp;title=Feature+matrix\u0026amp;theme=0c9020805cc6aa769a2dba47\u0026amp;signature=53030250a9e041209dc5ad79e1b3a7fb229df03e497ccca188669074dac06176\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/peerdb/AsJEjbO1FwDhXakS/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PeerDB Docs: Setup your ETL in minutes with SQL.\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#248736\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.peerdb.io/features/feature-matrix\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/features/feature-matrix.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.peerdb.io/#organization\",\"name\":\"PeerDB Docs: Setup your ETL in minutes with SQL.\",\"url\":\"https://docs.peerdb.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/peerdb/wtgPI5cQwjI2FO0m/logo/docs-logo-light.png?fit=max\u0026auto=format\u0026n=wtgPI5cQwjI2FO0m\u0026q=85\u0026s=90ac5de385106617a465b7ba4d33a28e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.peerdb.io#website\",\"name\":\"PeerDB Docs: Setup your ETL in minutes with SQL.\",\"url\":\"https://docs.peerdb.io\",\"publisher\":{\"@id\":\"https://docs.peerdb.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.peerdb.io/features/feature-matrix#webpage\",\"url\":\"https://docs.peerdb.io/features/feature-matrix\",\"name\":\"Feature matrix\",\"dateModified\":\"2026-08-21T18:07:55.665Z\",\"isPartOf\":{\"@id\":\"https://docs.peerdb.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.peerdb.io/features/feature-matrix#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.peerdb.io/features/feature-matrix#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features\",\"item\":\"https://docs.peerdb.io/features/pause-mirror\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Feature matrix\",\"item\":\"https://docs.peerdb.io/features/feature-matrix\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.peerdb.io/features/feature-matrix#article\",\"headline\":\"Feature matrix\",\"name\":\"Feature matrix\",\"url\":\"https://docs.peerdb.io/features/feature-matrix\",\"mainEntityOfPage\":{\"@id\":\"https://docs.peerdb.io/features/feature-matrix#webpage\"},\"dateModified\":\"2026-08-21T18:07:55.665Z\",\"publisher\":{\"@id\":\"https://docs.peerdb.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.peerdb.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PeerDB Docs: Setup your ETL in minutes with SQL.\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"PeerDB Docs: Setup your ETL in minutes with SQL.\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/features/feature-matrix.md","siteName":"PeerDB Docs: Setup your ETL in minutes with SQL.","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Home","pages":[{"title":"PeerDB","href":"/introduction"},{"title":"Architecture Overview","href":"/architecture"},{"title":"Why choose PeerDB over other tools?","href":"/why-peerdb"}]},{"group":"Quickstart","pages":[{"title":"Quickstart Guide","href":"/quickstart/quickstart"},{"title":"PeerDB Streams for Kafka Quickstart Guide","href":"/quickstart/streams-quickstart"},{"title":"SQL Quickstart Guide","href":"/quickstart/sql-quickstart"}]},{"group":"PeerDB Cloud","pages":[{"title":"PeerDB Cloud Quickstart Guide","icon":"rocket","iconType":"solid","href":"/peerdb-cloud/cloud-quickstart"},{"title":"PeerDB Cloud Security","icon":"lock","iconType":"solid","href":"/peerdb-cloud/cloud-security"},{"title":"PeerDB Cloud Pricing FAQ","icon":"question","iconType":"solid","href":"/peerdb-cloud/peerdb-cloud-pricing-faq"},{"title":"Trust Center","url":"https://trust.peerdb.io/","icon":"shield-halved","iconType":"solid","href":"/peerdb-cloud/cloud-trust-center"},{"title":"Public IPs For PeerDB Cloud","icon":"server","iconType":"regular","href":"/peerdb-cloud/ip-table"},{"title":"AWS Private Link","icon":"diagram-project","iconType":"solid","href":"/peerdb-cloud/aws-private-link"}]},{"group":"Setup","pages":[{"group":"PostgreSQL Setup Guide","pages":[{"title":"RDS Postgres Source Setup Guide","href":"/connect/postgres/rds_postgres"},{"title":"Supabase Postgres Source Setup Guide on PeerDB Cloud","href":"/connect/postgres/supabase_postgres_peerdb_cloud"},{"title":"Supabase Postgres Source Setup Guide","href":"/connect/postgres/supabase_postgres"},{"title":"Google CloudSQL Postgres Source Setup Guide","href":"/connect/postgres/cloudsql_postgres"},{"title":"Azure Flexible Server Postgres Source Setup Guide","href":"/connect/postgres/azure_flexible_server_postgres"},{"title":"Crunchy Bridge Postgres Source Setup Guide","href":"/connect/postgres/crunchy_bridge"},{"title":"Neon Postgres Source Setup Guide","href":"/connect/postgres/neon_postgres"},{"title":"Generic PostgreSQL Source Setup Guide","href":"/connect/postgres/generic_postgres"},{"title":"Unsupported PostgreSQL Providers","href":"/connect/postgres/unsupported_providers"}]},{"title":"CockroachDB Source Setup Guide","href":"/connect/cockroachdb"},{"group":"Clickhouse Setup Guide","pages":[{"title":"ClickHouse Cloud Setup Guide","href":"/connect/clickhouse/clickhouse-cloud"},{"title":"ClickHouse Setup Guide","href":"/connect/clickhouse/clickhouse"}]},{"title":"Snowflake Setup Guide","href":"/connect/snowflake"},{"title":"BigQuery Setup Guide","href":"/connect/bigquery"},{"title":"GCS Setup Guide","href":"/connect/gcs"},{"title":"S3 Setup Guide","href":"/connect/s3"},{"title":"Elasticsearch Setup Guide","href":"/connect/elasticsearch"}]},{"group":"Queues Setup","pages":[{"title":"Kafka Setup Guide","href":"/connect/kafka"},{"title":"Confluent Cloud Setup Guide","href":"/connect/confluent-cloud"},{"title":"PubSub Setup Guide","href":"/connect/pubsub"}]},{"group":"Mirror","pages":[{"title":"CDC Setup from Postgres to ClickHouse","href":"/mirror/cdc-pg-clickhouse"},{"title":"CDC Setup from Supabase to ClickHouse","href":"/mirror/cdc-supabase-clickhouse"},{"title":"CDC Setup from Neon Postgres to ClickHouse","href":"/mirror/cdc-neon-clickhouse"},{"title":"CDC Setup from Postgres to Bigquery","href":"/mirror/cdc-pg-bq"},{"title":"CDC Setup from Postgres to Snowflake","href":"/mirror/cdc-pg-sf"},{"title":"CDC Setup from Postgres to Postgres","href":"/mirror/cdc-pg-pg"},{"title":"CDC Setup from Postgres to Kafka","href":"/mirror/cdc-pg-kafka"},{"title":"CDC Setup from Postgres to Elasticsearch","href":"/mirror/cdc-pg-elasticsearch"},{"title":null,"href":"/mirror/upgrade"}]},{"group":"5-minute Tutorials","pages":[{"title":"Streaming Query Replication of PostgreSQL To Snowflake","href":"/tutorials/realtime-streaming-of-query-results"}]},{"group":"Features","pages":[{"title":"Pausing a CDC Mirror","href":"/features/pause-mirror"},{"title":"Editing a CDC Mirror","href":"/features/edit-mirror"},{"title":"Resyncing a CDC Mirror","href":"/features/resync-mirror"},{"title":"Schema Changes Propagation Support","href":"/features/schema-changes"},{"title":null,"description":null,"href":"/features/replicating-partitioned-tables"},{"title":null,"href":"/features/feature-matrix"},{"title":null,"description":null,"href":"/features/supported-connectors"},{"group":"Alerting","pages":[{"title":"Slack Alerting","href":"/features/alerting/slack-alerting"},{"title":"Email Alerting","href":"/features/alerting/email-alerting"}]}]},{"group":"Data types","pages":[{"title":null,"href":"/datatypes/datatype-matrix"}]},{"group":"Best practices","pages":[{"title":"Postgres to ClickHouse: Data Modeling Tips","href":"/bestpractices/clickhouse_datamodeling"},{"title":"Heartbeat Table For CDC","href":"/bestpractices/heartbeat"},{"title":"Upgrading the PostgreSQL Peer Of An Ongoing CDC Mirror","href":"/bestpractices/postgres-upgrade"},{"title":"Generated Columns: Gotchas and Best Practices","href":"/bestpractices/generated_columns"},{"title":"Postgres to ClickHouse: Handling TOAST Columns","href":"/bestpractices/clickhouse_toast_columns"},{"title":"Defining the Ordering Key in ClickHouse differently from the Primary Key in Postgres","href":"/bestpractices/ordering-key-different"}]},{"group":"Use-cases","pages":[{"group":"Real-time Change Data Capture from Postgres","pages":[{"title":"Overview","href":"/usecases/real-time-cdc/overview"},{"title":"PostgreSQL To PostgreSQL","href":"/usecases/real-time-cdc/postgres-to-postgres"},{"title":"PostgreSQL to BigQuery","href":"/usecases/real-time-cdc/postgres-to-bigquery"},{"title":"PostgreSQL To Snowflake","href":"/usecases/real-time-cdc/postgres-to-snowflake"},{"title":"PostgreSQL To Azure Event Hubs","href":"/usecases/real-time-cdc/postgres-to-azure-eventhubs"},{"title":"PostgreSQL To AWS S3 And Google Cloud Storage","href":"/usecases/real-time-cdc/postgres-to-cloud"}]},{"group":"Streaming Query Replication","pages":[{"title":"Overview","href":"/usecases/streaming-query-replication/overview"},{"title":"PostgreSQL to PostgreSQL","href":"/usecases/streaming-query-replication/postgres-to-postgres"},{"title":"PostgreSQL to BigQuery","href":"/usecases/streaming-query-replication/postgres-to-bigquery"},{"title":"PostgreSQL to S3","href":"/usecases/streaming-query-replication/postgres-to-s3"},{"title":"PostgreSQL to Snowflake","href":"/usecases/streaming-query-replication/postgres-to-snowflake"}]},{"title":"Query Federation via PostgreSQL","href":"/usecases/postgres-compatible-layer-for-bigquery-and-snowflake"}]},{"group":"Benchmarks","pages":[{"title":null,"href":"/benchmarks/benchmarking-Postgres-Replication:-PeerDB-vs-Airbyte"}]},{"group":"Contributing","pages":[{"title":"Running Flow tests","href":"/dev/running-tests"}]},{"group":"Metrics and Tuning","pages":[{"title":"Config Tuning for Change Data Capture (CDC)","href":"/metrics/important_cdc_configs"},{"title":"Native Metrics","href":"/metrics/native-metrics"}]},{"group":"FAQs","pages":[{"title":"Frequently Asked Questions","href":"/faqs/faqs"}]}]},{"anchor":"SQL Reference","icon":"rectangle-terminal","groups":[{"group":"SQL Commands","pages":[{"title":"PeerDB SQL Reference","href":"/sql/reference"},{"group":"Peer Commands","pages":[{"title":"Creating Peers","href":"/sql/commands/create-peer"},{"title":"Executing Raw Queries","href":"/sql/commands/execute"},{"title":"Dropping Peers","href":"/sql/commands/drop-peer"}]},{"group":"Mirror Commands","pages":[{"title":"Creating Mirrors","href":"/sql/commands/create-mirror"},{"title":"Dropping Mirrors","href":"/sql/commands/drop-mirror"},{"title":"Pausing Mirrors","href":"/sql/commands/pause-mirror"},{"title":"Resuming Mirrors","href":"/sql/commands/resume-mirror"},{"title":"Resyncing Mirrors","href":"/sql/commands/resync-mirror"}]},{"title":null,"href":"/sql/commands/supported-connectors"}]}]},{"anchor":"API Reference","icon":"browser","groups":[{"group":"API Endpoints","pages":[{"title":"PeerDB API Reference","href":"/peerdb-api/reference"},{"group":"Create Peer","pages":[{"title":null,"href":"/peerdb-api/endpoints/create-peer/overview"},{"title":"Create a Postgres peer","href":"/peerdb-api/endpoints/create-peer/postgres"},{"title":"Create a ClickHouse peer","href":"/peerdb-api/endpoints/create-peer/clickhouse"},{"title":"Create a Kafka peer","href":"/peerdb-api/endpoints/create-peer/kafka"},{"title":"Create a Snowflake peer","href":"/peerdb-api/endpoints/create-peer/snowflake"}]},{"title":null,"href":"/peerdb-api/endpoints/create-mirror"},{"title":null,"href":"/peerdb-api/endpoints/peer-info"},{"title":null,"href":"/peerdb-api/endpoints/mirror-logs"},{"title":"CDC batches","href":"/peerdb-api/endpoints/cdc-batches"},{"title":null,"href":"/peerdb-api/endpoints/mirror-status"},{"title":null,"href":"/peerdb-api/endpoints/change-mirror-state"},{"group":"Scripts","pages":[{"title":null,"href":"/peerdb-api/endpoints/scripts/list-scripts"},{"title":null,"href":"/peerdb-api/endpoints/scripts/create-script"}]}]}]},{"anchor":"Lua Reference","icon":"file-code","groups":[{"group":"Lua Reference","pages":[{"title":"PeerDB Lua Scripting","href":"/lua/reference"},{"title":null,"href":"/lua/kafka"},{"title":"PubSub","href":"/lua/pubsub"},{"title":"EventHubs","href":"/lua/eventhubs"}]}]},{"anchor":"GitHub","href":"https://github.com/PeerDB-io/peerdb","icon":"github"},{"anchor":"Changelog","href":"https://github.com/PeerDB-io/peerdb/releases","icon":"list"},{"anchor":"Community","href":"https://slack.peerdb.io","icon":"slack"}]},"basePath":"","title":"Feature matrix - PeerDB Docs: Setup your ETL in minutes with SQL.","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":[],"chunks":[]}