
{"id":5007,"date":"2023-12-20T07:50:03","date_gmt":"2023-12-20T07:50:03","guid":{"rendered":"https:\/\/test.opensource-db.in\/wp1\/?p=5007"},"modified":"2024-01-23T07:39:54","modified_gmt":"2024-01-23T07:39:54","slug":"timestamp-based-change-data-capture","status":"publish","type":"post","link":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/","title":{"rendered":"Timestamp-based Change Data Capture"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"538\" src=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/image-8-1024x538.png\" alt=\"\" class=\"wp-image-5021\" srcset=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/image-8-1024x538.png 1024w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/image-8-300x158.png 300w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/image-8-768x403.png 768w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/image-8-1536x806.png 1536w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/image-8-189x99.png 189w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/image-8-152x80.png 152w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/image-8-394x207.png 394w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/image-8-915x480.png 915w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/image-8-1240x651.png 1240w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/image-8.png 1800w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Introduction<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hey all!! Hope you are following the series of topics around Data Integration with PostgreSQL, The World\u2019s Most Advanced Open Source Relational Database. In our previous blog, we explored the Change Data Capture (CDC) and its methods. If you missed it, we recommend reading the <a href=\"https:\/\/test.opensource-db.in\/wp1\/unleashing-the-power-of-change-data-capture\/\">blog<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Timestamp-based CDC (Change Data Capture) is one approach to capturing and tracking changes in a database by associating a timestamp with each change. It is a versatile and widely used approach in tracking the changes in databases and supports various use cases like data replication and synchronization. In this blog, we will explore the prerequisites to execute the timestamp-based CDC and the setup with the result set.  <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Setup the Environment<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before diving into CDC, let\u2019s ensure we have a timestamp column in the table (source) and the necessary components installed and configured.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PostgreSQL Database<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install PostgreSQL on the server or your local machine.<\/li>\n\n\n\n<li>Create a database and the required tables that will be part of the CDC.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Pentaho Data Integration (ETL tool)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install PDI on the server or your local machine &#8211; you may refer to this <a href=\"https:\/\/test.opensource-db.in\/wp1\/pentaho-data-integration-with-postgresql\/\">blog<\/a> for a step-by-step procedure<\/li>\n\n\n\n<li>Connect with the databases.<\/li>\n\n\n\n<li>Create the data pipeline for CDC.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Designing the CDC Pipeline<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In this CDC pipeline, we will create a new transformation and building a pipeline to extract the data from one table(t1) in one PostgreSQL database and load it in another table(t2) in another PostgreSQL database in incremental basis.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"656\" height=\"155\" src=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/3-1.png\" alt=\"\" class=\"wp-image-5040\" srcset=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/3-1.png 656w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/3-1-300x71.png 300w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/3-1-419x99.png 419w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/3-1-339x80.png 339w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/3-1-394x93.png 394w\" sizes=\"(max-width: 656px) 100vw, 656px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Define the date range<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to Design \u2192 Input \u2192 Get system info<\/li>\n\n\n\n<li>Here, we are getting the start and end range of the transformation.<\/li>\n\n\n\n<li>Hop the result  to the next step  as input.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"544\" src=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/Define-the-date-range-1-1024x544.png\" alt=\"\" class=\"wp-image-5039\" srcset=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/Define-the-date-range-1-1024x544.png 1024w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/Define-the-date-range-1-300x159.png 300w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/Define-the-date-range-1-768x408.png 768w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/Define-the-date-range-1-1536x816.png 1536w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/Define-the-date-range-1-186x99.png 186w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/Define-the-date-range-1-151x80.png 151w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/Define-the-date-range-1-394x209.png 394w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/Define-the-date-range-1-915x486.png 915w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/Define-the-date-range-1-1240x658.png 1240w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/Define-the-date-range-1.png 1597w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Export data from Source<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to Design \u2192 Input \u2192 Table input<\/li>\n\n\n\n<li>Here, we will extract the data in the table(t1) using a timestamp column by giving SQL statements.<\/li>\n\n\n\n<li>Hop the result to the next step as input.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"543\" src=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/1-1024x543.png\" alt=\"\" class=\"wp-image-5033\" srcset=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/1-1024x543.png 1024w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/1-300x159.png 300w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/1-768x408.png 768w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/1-1536x815.png 1536w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/1-187x99.png 187w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/1-151x80.png 151w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/1-394x209.png 394w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/1-915x486.png 915w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/1-1240x658.png 1240w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/1.png 1596w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Import data into Target<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to Design \u2192 Output \u2192 Insert\/update<\/li>\n\n\n\n<li>Here, we would insert the data(output from the previous step) into the target table(t2) as per the given conditions.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"543\" src=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/2-1024x543.png\" alt=\"\" class=\"wp-image-5034\" srcset=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/2-1024x543.png 1024w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/2-300x159.png 300w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/2-768x407.png 768w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/2-1536x815.png 1536w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/2-187x99.png 187w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/2-151x80.png 151w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/2-394x209.png 394w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/2-915x485.png 915w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/2-1240x658.png 1240w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/2.png 1597w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Input and Output<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Assuming that both tables(t1 &amp; t2) in different databases with columns (id, name &amp; last_update) have no data.<\/li>\n\n\n\n<li>Insert the data in the table(t1) using the insert command.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"468\" height=\"238\" src=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC6-1.png\" alt=\"\" class=\"wp-image-5013\" srcset=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC6-1.png 468w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC6-1-300x153.png 300w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC6-1-195x99.png 195w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC6-1-157x80.png 157w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC6-1-394x200.png 394w\" sizes=\"(max-width: 468px) 100vw, 468px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Check the data in table(t2) before running the transformation.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"273\" height=\"83\" src=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC7.png\" alt=\"\" class=\"wp-image-5014\" srcset=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC7.png 273w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC7-263x80.png 263w\" sizes=\"(max-width: 273px) 100vw, 273px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Run the transformation. If the transformation is successful, you will get the \u2705 at the top of the  following steps.<\/li>\n\n\n\n<li>Now, check the target table(t2).<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"387\" height=\"108\" src=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC9.png\" alt=\"\" class=\"wp-image-5015\" srcset=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC9.png 387w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC9-300x84.png 300w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC9-355x99.png 355w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/CDC9-287x80.png 287w\" sizes=\"(max-width: 387px) 100vw, 387px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Compare the data in both the tables(t1&amp;t2).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note<\/strong>: As discussed in the previous blog, CDC using timestamp will not work for the <code>DELETE<\/code> option.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In conclusion, the adoption of timestamp-based Change Data Capture (CDC) in PostgreSQL marks a pivotal stride in the realm of data integration. By leveraging this sophisticated approach, you can build systems to capture and propagate real-time changes efficiently. The journey through the nuances of timestamp-based CDC in PostgreSQL+Pentaho DI showcases not just a technical evolution but a strategic leap towards a more responsive and interconnected data ecosystem. As we witness the seamless synchronization of data across diverse platforms and applications, the potential for data-driven decision-making becomes boundless. In the ever-evolving landscape of data integration, embracing timestamp-based CDC in PostgreSQL is not just a best practice\u2014it&#8217;s a transformative key to unlocking the true power of real-time data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stay tuned for more in Data Integration with PostgreSQL blog post series!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Hey all!! Hope you are following the series of topics around Data Integration with PostgreSQL, The World\u2019s Most Advanced [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":5078,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[52,1,23,42,89],"tags":[104],"class_list":["post-5007","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-customer-success","category-others","category-postgresql-14","category-postgresql-15","category-postgresql-16","tag-pentaho-cdc-timestamp"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Timestamp-based Change Data Capture - OpenSource DB<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Timestamp-based Change Data Capture - OpenSource DB\" \/>\n<meta property=\"og:description\" content=\"Introduction Hey all!! Hope you are following the series of topics around Data Integration with PostgreSQL, The World\u2019s Most Advanced [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/\" \/>\n<meta property=\"og:site_name\" content=\"OpenSource DB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-20T07:50:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-23T07:39:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"945\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Venkat Akhil\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@opensource_db\" \/>\n<meta name=\"twitter:site\" content=\"@opensource_db\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Venkat Akhil\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/\"},\"author\":{\"name\":\"Venkat Akhil\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/a37b142ecbf953189a4f9209b0b8d328\"},\"headline\":\"Timestamp-based Change Data Capture\",\"datePublished\":\"2023-12-20T07:50:03+00:00\",\"dateModified\":\"2024-01-23T07:39:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/\"},\"wordCount\":576,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#organization\"},\"image\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png\",\"keywords\":[\"#Pentaho #CDC #timestamp\"],\"articleSection\":[\"Customer Success\",\"Others\",\"PostgreSQL 14\",\"PostgreSQL 15\",\"PostgreSQL 16\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/\",\"name\":\"Timestamp-based Change Data Capture - OpenSource DB\",\"isPartOf\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png\",\"datePublished\":\"2023-12-20T07:50:03+00:00\",\"dateModified\":\"2024-01-23T07:39:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#primaryimage\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png\",\"contentUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png\",\"width\":1800,\"height\":945},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/test.opensource-db.in\/wp1\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Timestamp-based Change Data Capture\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#website\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/\",\"name\":\"OpenSource DB\",\"description\":\"Your Trusted OpenSource Databases partner\",\"publisher\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/test.opensource-db.in\/wp1\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#organization\",\"name\":\"OPENSOURCE DB PRIVATE LIMITED\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png\",\"contentUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png\",\"width\":368,\"height\":120,\"caption\":\"OPENSOURCE DB PRIVATE LIMITED\"},\"image\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/\",\"https:\/\/x.com\/opensource_db\",\"https:\/\/www.youtube.com\/channel\/UCmTI5h\",\"https:\/\/www.linkedin.com\/company\/opensource-db\",\"https:\/\/www.instagram.com\/opensource_db\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/a37b142ecbf953189a4f9209b0b8d328\",\"name\":\"Venkat Akhil\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/522c0947d21b2c2c89f10698fd9131f9db4110f65c8d02b53d9b4559c7650865?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/522c0947d21b2c2c89f10698fd9131f9db4110f65c8d02b53d9b4559c7650865?s=96&d=mm&r=g\",\"caption\":\"Venkat Akhil\"},\"url\":\"https:\/\/test.opensource-db.in\/wp1\/author\/sudheer-sopensource-db-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Timestamp-based Change Data Capture - OpenSource DB","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Timestamp-based Change Data Capture - OpenSource DB","og_description":"Introduction Hey all!! Hope you are following the series of topics around Data Integration with PostgreSQL, The World\u2019s Most Advanced [&hellip;]","og_url":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/","og_site_name":"OpenSource DB","article_publisher":"https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/","article_published_time":"2023-12-20T07:50:03+00:00","article_modified_time":"2024-01-23T07:39:54+00:00","og_image":[{"width":1800,"height":945,"url":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png","type":"image\/png"}],"author":"Venkat Akhil","twitter_card":"summary_large_image","twitter_creator":"@opensource_db","twitter_site":"@opensource_db","twitter_misc":{"Written by":"Venkat Akhil","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#article","isPartOf":{"@id":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/"},"author":{"name":"Venkat Akhil","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/a37b142ecbf953189a4f9209b0b8d328"},"headline":"Timestamp-based Change Data Capture","datePublished":"2023-12-20T07:50:03+00:00","dateModified":"2024-01-23T07:39:54+00:00","mainEntityOfPage":{"@id":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/"},"wordCount":576,"commentCount":0,"publisher":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#organization"},"image":{"@id":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#primaryimage"},"thumbnailUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png","keywords":["#Pentaho #CDC #timestamp"],"articleSection":["Customer Success","Others","PostgreSQL 14","PostgreSQL 15","PostgreSQL 16"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/","url":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/","name":"Timestamp-based Change Data Capture - OpenSource DB","isPartOf":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#website"},"primaryImageOfPage":{"@id":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#primaryimage"},"image":{"@id":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#primaryimage"},"thumbnailUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png","datePublished":"2023-12-20T07:50:03+00:00","dateModified":"2024-01-23T07:39:54+00:00","breadcrumb":{"@id":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#primaryimage","url":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png","contentUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png","width":1800,"height":945},{"@type":"BreadcrumbList","@id":"https:\/\/test.opensource-db.in\/wp1\/timestamp-based-change-data-capture\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/test.opensource-db.in\/wp1\/"},{"@type":"ListItem","position":2,"name":"Timestamp-based Change Data Capture"}]},{"@type":"WebSite","@id":"https:\/\/test.opensource-db.in\/wp1\/#website","url":"https:\/\/test.opensource-db.in\/wp1\/","name":"OpenSource DB","description":"Your Trusted OpenSource Databases partner","publisher":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/test.opensource-db.in\/wp1\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/test.opensource-db.in\/wp1\/#organization","name":"OPENSOURCE DB PRIVATE LIMITED","url":"https:\/\/test.opensource-db.in\/wp1\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/","url":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png","contentUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png","width":368,"height":120,"caption":"OPENSOURCE DB PRIVATE LIMITED"},"image":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/","https:\/\/x.com\/opensource_db","https:\/\/www.youtube.com\/channel\/UCmTI5h","https:\/\/www.linkedin.com\/company\/opensource-db","https:\/\/www.instagram.com\/opensource_db\/"]},{"@type":"Person","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/a37b142ecbf953189a4f9209b0b8d328","name":"Venkat Akhil","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/522c0947d21b2c2c89f10698fd9131f9db4110f65c8d02b53d9b4559c7650865?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/522c0947d21b2c2c89f10698fd9131f9db4110f65c8d02b53d9b4559c7650865?s=96&d=mm&r=g","caption":"Venkat Akhil"},"url":"https:\/\/test.opensource-db.in\/wp1\/author\/sudheer-sopensource-db-com\/"}]}},"rttpg_featured_image_url":{"full":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png",1800,945,false],"landscape":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png",1800,945,false],"portraits":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png",1800,945,false],"thumbnail":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges-150x150.png",150,150,true],"medium":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges-300x158.png",300,158,true],"large":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges-1024x538.png",1024,538,true],"1536x1536":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges-1536x806.png",1536,806,true],"2048x2048":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png",1800,945,false],"ultp_layout_landscape_large":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png",1200,630,false],"ultp_layout_landscape":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png",870,457,false],"ultp_layout_portrait":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png",600,315,false],"ultp_layout_square":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2023\/12\/blog-cdc-challenges.png",600,315,false]},"rttpg_author":{"display_name":"Venkat Akhil","author_link":"https:\/\/test.opensource-db.in\/wp1\/author\/sudheer-sopensource-db-com\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/test.opensource-db.in\/wp1\/category\/business\/customer-success\/\" rel=\"category tag\">Customer Success<\/a> <a href=\"https:\/\/test.opensource-db.in\/wp1\/category\/business\/others\/\" rel=\"category tag\">Others<\/a> <a href=\"https:\/\/test.opensource-db.in\/wp1\/category\/postgres\/postgresql-14\/\" rel=\"category tag\">PostgreSQL 14<\/a> <a href=\"https:\/\/test.opensource-db.in\/wp1\/category\/postgres\/postgresql-15\/\" rel=\"category tag\">PostgreSQL 15<\/a> <a href=\"https:\/\/test.opensource-db.in\/wp1\/category\/postgres\/postgresql-16\/\" rel=\"category tag\">PostgreSQL 16<\/a>","rttpg_excerpt":"Introduction Hey all!! Hope you are following the series of topics around Data Integration with PostgreSQL, The World\u2019s Most Advanced [&hellip;]","_links":{"self":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/5007","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/comments?post=5007"}],"version-history":[{"count":11,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/5007\/revisions"}],"predecessor-version":[{"id":5041,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/5007\/revisions\/5041"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/media\/5078"}],"wp:attachment":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/media?parent=5007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/categories?post=5007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/tags?post=5007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}