
{"id":5083,"date":"2024-01-03T04:27:54","date_gmt":"2024-01-03T04:27:54","guid":{"rendered":"https:\/\/test.opensource-db.in\/wp1\/?p=5083"},"modified":"2024-01-23T07:38:49","modified_gmt":"2024-01-23T07:38:49","slug":"mastering-timestamp-based-cdc-hurdles-solution-implementation","status":"publish","type":"post","link":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/","title":{"rendered":"Mastering Timestamp-Based CDC Hurdles: Solution Implementation"},"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\/2024\/01\/image-blog-1024x538.png\" alt=\"\" class=\"wp-image-5100\" srcset=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-1024x538.png 1024w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-300x158.png 300w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-768x403.png 768w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-1536x806.png 1536w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-189x99.png 189w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-152x80.png 152w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-394x207.png 394w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-915x480.png 915w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-1240x651.png 1240w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.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\">In the execution phase of mastering Timestamp-Based Change Data Capture (CDC) hurdles, the focus lies on implementing INSERT, DELETE, and UPDATE operations in our PostgreSQL database and using the proven solution we discussed in the previous blog to achieve the comprehensive data replication. This solution will overcome the challenges (discussed in the previous blog) of using Timestamp-based Change Data Capture. We have explored some features in the Pentaho Data Integration (PDI) tools to achieve data replication to overcome the challenges in our previous blog. In this blog, we will explore the execution phase of the proven solution and its results. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As this blog post is the continuation part of the previous blog, if you have designed the CDC pipeline in the Pentaho Data Integration (PDI) toolset, you are all set to go. If you are viewing this series of blogs for the first time, you need to design the <a href=\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-a-proven-solution\/\">CDC pipeline<\/a> of the solution to proceed further.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Execution of the CDC pipeline<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Using this CDC pipeline, we will execute INSERT, DELETE and UPDATE operations and compare the data in both the tables (Source table and Target table) whether the data (changes) is replicated accordingly or not. Before that, we need to verify the below assumptions.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"937\" height=\"446\" src=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/B1.png\" alt=\"\" class=\"wp-image-5087\" srcset=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/B1.png 937w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/B1-300x143.png 300w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/B1-768x366.png 768w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/B1-208x99.png 208w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/B1-168x80.png 168w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/B1-394x188.png 394w, https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/B1-915x436.png 915w\" sizes=\"(max-width: 937px) 100vw, 937px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Assumptions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before executing <code>INSERT<\/code> , <code>DELETE<\/code> and <code>UPDATE<\/code> operations using this CDC pipeline, let us assume <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The tables of both Source and Target Databases have the same structure, comprising of these columns { id (primary key), name, last_update}  <\/li>\n\n\n\n<li>Last_update (Timestamp column) is updated.<\/li>\n\n\n\n<li>Both the tables consist of 5 similar pre-existing records. <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Check the Data in Source table.\npostgres=# select * from t1;\n id |  name  |        last_update         \n----+--------+----------------------------\n  1 | Akhil  | 2024-01-02 11:21:34.28668\n  2 | Venkat | 2024-01-02 11:29:04.582673\n  3 | Sai    | 2024-01-02 11:29:14.701115\n  4 | Nalini | 2024-01-02 11:29:26.612513\n  5 | Ram    | 2024-01-02 11:29:40.322224\n(5 rows)\n\n# Check the Data in Target table.\npostgres=# select * from t2;\n id |  name  |        last_update         \n----+--------+----------------------------\n  1 | Akhil  | 2024-01-02 11:21:34.28668\n  2 | Venkat | 2024-01-02 11:29:04.582673\n  3 | Sai    | 2024-01-02 11:29:14.701115\n  4 | Nalini | 2024-01-02 11:29:26.612513\n  5 | Ram    | 2024-01-02 11:29:40.322224\n(5 rows)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We can see the data in both the tables (Source &amp; Target) is similar.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Insert operation<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Insert a record into the source table and check the records in the table using the following codes.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Insert a record into Source table.\npostgres=# insert into t1 values (6,'Krishna',now());\nINSERT 0 1\n\n# Check the Data in Source table after INSERT operation.\npostgres=# select * from t1;\n id |  name   |        last_update         \n----+---------+----------------------------\n  1 | Akhil   | 2024-01-02 11:21:34.28668\n  2 | Venkat  | 2024-01-02 11:29:04.582673\n  3 | Sai     | 2024-01-02 11:29:14.701115\n  4 | Nalini  | 2024-01-02 11:29:26.612513\n  5 | Ram     | 2024-01-02 11:29:40.322224\n  6 | Krishna | 2024-01-02 13:11:57.373751\n(6 rows)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Run the transformation in the Pentaho Data Integration (PDI) tool.<\/li>\n\n\n\n<li>Compare the data in the target table with the source table using the following code.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Verify the data in Target table. \npostgres=# select * from t2;\n id |  name   |        last_update         \n----+---------+----------------------------\n  1 | Akhil   | 2024-01-02 11:21:34.28668\n  2 | Venkat  | 2024-01-02 11:29:04.582673\n  3 | Sai     | 2024-01-02 11:29:14.701115\n  4 | Nalini  | 2024-01-02 11:29:26.612513\n  5 | Ram     | 2024-01-02 11:29:40.322224\n  6 | Krishna | 2024-01-02 12:59:59.028452\n(6 rows)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We can see the data is replicated successfully from the Source table to the Target table in case of INSERT operations. Let us verify DELETE the operation also.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Delete operation<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Delete a record from the source table and check the records using the following codes.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Delete a record from Source table.\npostgres=# delete from t1 where id = 5;\nDELETE 1\n\n# Check the Data in Source table after DELETE operation.\npostgres=# select * from t1;\n id |  name   |        last_update         \n----+---------+----------------------------\n  1 | Akhil   | 2024-01-02 11:21:34.28668\n  2 | Venkat  | 2024-01-02 11:29:04.582673\n  3 | Sai     | 2024-01-02 11:29:14.701115\n  4 | Nalini  | 2024-01-02 11:29:26.612513\n  6 | Krishna | 2024-01-02 13:11:57.373751\n(5 rows)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Run the transformation in the Pentaho Data Integration (PDI) tool.<\/li>\n\n\n\n<li>Compare the data in the target table with the source table using the following code.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Verify the data in Target table.\npostgres=# select * from t2;\n id |  name   |        last_update         \n----+---------+----------------------------\n  1 | Akhil   | 2024-01-02 11:21:34.28668\n  2 | Venkat  | 2024-01-02 11:29:04.582673\n  3 | Sai     | 2024-01-02 11:29:14.701115\n  4 | Nalini  | 2024-01-02 11:29:26.612513\n  6 | Krishna | 2024-01-02 13:11:57.373751\n(5 rows)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We can see the data is deleted in the Target table accordingly. Let us move to the last operation <code>UPDATE<\/code>  now.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Update operation<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Update a record in the source table and check the records using the following statements.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Update a record in the Source table. \npostgres=# update t1 set id=7,last_update=now() where id=4;\nUPDATE 1\n\n# Check the data in the Source table after UPDATE operation.\npostgres=# select * from t1;\n id |  name   |        last_update         \n----+---------+----------------------------\n  1 | Akhil   | 2024-01-02 11:21:34.28668\n  2 | Venkat  | 2024-01-02 11:29:04.582673\n  3 | Sai     | 2024-01-02 11:29:14.701115\n  6 | Krishna | 2024-01-02 13:11:57.373751\n  7 | Nalini  | 2024-01-02 13:15:36.956686\n(5 rows)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Run the transformation in the Pentaho Data Integration (PDI) tool.<\/li>\n\n\n\n<li>Compare the data in the target table with the source table using the following code.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Verify the data in Target table.\npostgres=# select * from t2;\n id |  name   |        last_update         \n----+---------+----------------------------\n  1 | Akhil   | 2024-01-02 11:21:34.28668\n  2 | Venkat  | 2024-01-02 11:29:04.582673\n  3 | Sai     | 2024-01-02 11:29:14.701115\n  6 | Krishna | 2024-01-02 13:11:57.373751\n  7 | Nalini  | 2024-01-02 13:15:36.956686\n(5 rows)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">As we can see the data is updated in the Target table as per the changes in the Source table.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Note<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>While doing <code>INSERT<\/code> and <code>UPDATE<\/code> operations, ensure that we insert or update the value of timestamp columns along with other changes every time.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Summary<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To sum up, we have implemented the CDC for INSERT, DELETE, and UPDATE operations in our PostgreSQL database. Using a Proven solution, we overcame the hurdles of Timestamp-based Change Data Capture mentioned in the previous blog. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We highly recommend you follow the series of topics around the Data Integration with PostgreSQL (the World\u2019s Most Advanced Open Source Relational Database System) for better understanding. We have so far explored the Installation of&nbsp;the Pentaho Data Integration (PDI)&nbsp;tool and connection to the PostgreSQL database, learned about&nbsp;Change Data Capture&nbsp;and its methods and the implementation of&nbsp;Timestamp-based Change Data Capture, and mastered the hurdles of Timestamp-based Change Data Capture with the proven solution using PDI toolset. Try to set up a CDC for all INSERT, DELETE, and UPDATE operations in your PostgreSQL database as <a href=\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-a-proven-solution\/\">outlined here<\/a>. Connect with us if you need any additional information.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stay tuned !!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In the execution phase of mastering Timestamp-Based Change Data Capture (CDC) hurdles, the focus lies on implementing INSERT, DELETE, [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":5100,"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":[23,42,89],"tags":[],"class_list":["post-5083","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-postgresql-14","category-postgresql-15","category-postgresql-16"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mastering Timestamp-Based CDC Hurdles: Solution Implementation - 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=\"Mastering Timestamp-Based CDC Hurdles: Solution Implementation - OpenSource DB\" \/>\n<meta property=\"og:description\" content=\"Introduction In the execution phase of mastering Timestamp-Based Change Data Capture (CDC) hurdles, the focus lies on implementing INSERT, DELETE, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/\" \/>\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=\"2024-01-03T04:27:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-23T07:38:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.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=\"5 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\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/\"},\"author\":{\"name\":\"Venkat Akhil\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/a37b142ecbf953189a4f9209b0b8d328\"},\"headline\":\"Mastering Timestamp-Based CDC Hurdles: Solution Implementation\",\"datePublished\":\"2024-01-03T04:27:54+00:00\",\"dateModified\":\"2024-01-23T07:38:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/\"},\"wordCount\":646,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#organization\"},\"image\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png\",\"articleSection\":[\"PostgreSQL 14\",\"PostgreSQL 15\",\"PostgreSQL 16\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/\",\"name\":\"Mastering Timestamp-Based CDC Hurdles: Solution Implementation - OpenSource DB\",\"isPartOf\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png\",\"datePublished\":\"2024-01-03T04:27:54+00:00\",\"dateModified\":\"2024-01-23T07:38:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#primaryimage\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png\",\"contentUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png\",\"width\":1800,\"height\":945},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/test.opensource-db.in\/wp1\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mastering Timestamp-Based CDC Hurdles: Solution Implementation\"}]},{\"@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":"Mastering Timestamp-Based CDC Hurdles: Solution Implementation - 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":"Mastering Timestamp-Based CDC Hurdles: Solution Implementation - OpenSource DB","og_description":"Introduction In the execution phase of mastering Timestamp-Based Change Data Capture (CDC) hurdles, the focus lies on implementing INSERT, DELETE, [&hellip;]","og_url":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/","og_site_name":"OpenSource DB","article_publisher":"https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/","article_published_time":"2024-01-03T04:27:54+00:00","article_modified_time":"2024-01-23T07:38:49+00:00","og_image":[{"width":1800,"height":945,"url":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.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":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#article","isPartOf":{"@id":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/"},"author":{"name":"Venkat Akhil","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/a37b142ecbf953189a4f9209b0b8d328"},"headline":"Mastering Timestamp-Based CDC Hurdles: Solution Implementation","datePublished":"2024-01-03T04:27:54+00:00","dateModified":"2024-01-23T07:38:49+00:00","mainEntityOfPage":{"@id":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/"},"wordCount":646,"commentCount":0,"publisher":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#organization"},"image":{"@id":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#primaryimage"},"thumbnailUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png","articleSection":["PostgreSQL 14","PostgreSQL 15","PostgreSQL 16"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/","url":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/","name":"Mastering Timestamp-Based CDC Hurdles: Solution Implementation - OpenSource DB","isPartOf":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#website"},"primaryImageOfPage":{"@id":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#primaryimage"},"image":{"@id":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#primaryimage"},"thumbnailUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png","datePublished":"2024-01-03T04:27:54+00:00","dateModified":"2024-01-23T07:38:49+00:00","breadcrumb":{"@id":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#primaryimage","url":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png","contentUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png","width":1800,"height":945},{"@type":"BreadcrumbList","@id":"https:\/\/test.opensource-db.in\/wp1\/mastering-timestamp-based-cdc-hurdles-solution-implementation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/test.opensource-db.in\/wp1\/"},{"@type":"ListItem","position":2,"name":"Mastering Timestamp-Based CDC Hurdles: Solution Implementation"}]},{"@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\/2024\/01\/image-blog.png",1800,945,false],"landscape":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png",1800,945,false],"portraits":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png",1800,945,false],"thumbnail":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-150x150.png",150,150,true],"medium":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-300x158.png",300,158,true],"large":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-1024x538.png",1024,538,true],"1536x1536":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog-1536x806.png",1536,806,true],"2048x2048":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png",1800,945,false],"ultp_layout_landscape_large":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png",1200,630,false],"ultp_layout_landscape":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png",870,457,false],"ultp_layout_portrait":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.png",600,315,false],"ultp_layout_square":["https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2024\/01\/image-blog.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\/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 In the execution phase of mastering Timestamp-Based Change Data Capture (CDC) hurdles, the focus lies on implementing INSERT, DELETE, [&hellip;]","_links":{"self":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/5083","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=5083"}],"version-history":[{"count":13,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/5083\/revisions"}],"predecessor-version":[{"id":5103,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/5083\/revisions\/5103"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/media\/5100"}],"wp:attachment":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/media?parent=5083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/categories?post=5083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/tags?post=5083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}